mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-08-25 23:49:09 +00:00
Compare commits
22 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
8a1c079edf | ||
|
ba01583ce3 | ||
|
498e5989d1 | ||
|
ab7b117c50 | ||
|
085b498c28 | ||
|
30eff93341 | ||
|
139a213d4d | ||
|
06c45d6fe5 | ||
|
8446d6b8c2 | ||
|
9676072298 | ||
|
2db7e3a0a8 | ||
|
1e9fd18e6a | ||
|
909af50aaa | ||
|
07a16f9282 | ||
|
28e7981a5b | ||
|
f7cc97fe5c | ||
|
d9ed2d380f | ||
|
60901368cc | ||
|
9f5e690118 | ||
|
2fbd7ff6cc | ||
|
1595413545 | ||
|
76b2e1c5ab |
@@ -93,7 +93,7 @@ ifeq ($(shell if test -f config.cache; then echo 1; fi), 1)
|
||||
@echo " Going to reconfigure with last known settings..."
|
||||
@echo "----------------"
|
||||
# Make sure we don't lock config.cache
|
||||
@$(shell cat config.cache | sed 's~\\ ~\\\\ ~g') || exit 1
|
||||
@$(shell cat config.cache | sed 's@\\ @\\\\ @g') || exit 1
|
||||
@echo "----------------"
|
||||
@echo "Reconfig done. Please re-execute make."
|
||||
@echo "----------------"
|
||||
|
@@ -20,7 +20,7 @@ SRC_DIR = "$(ROOT_DIR)/src"
|
||||
BUNDLE_DIR = "$(ROOT_DIR)/bundle"
|
||||
BUNDLES_DIR = "$(ROOT_DIR)/bundles"
|
||||
TTD = "openttd.exe"
|
||||
TARGET := $(shell echo $(PLATFORM) | sed "s~win64~x64~;s~win32~Win32~")
|
||||
TARGET := $(shell echo $(PLATFORM) | sed "s@win64@x64@;s@win32@Win32@")
|
||||
|
||||
all:
|
||||
$(Q)cp objs/$(TARGET)/Release/$(TTD) $(BIN_DIR)/$(TTD)
|
||||
|
@@ -57,7 +57,7 @@ ENDIAN_TARGETS := endian_target.h $(ENDIAN_CHECK)
|
||||
# For more information, please check:
|
||||
# http://maillist.openttd.org/pipermail/devs/2007-April/000284.html
|
||||
# http://maillist.openttd.org/pipermail/devs/2007-February/000248.html
|
||||
GCC295_FIX=sed -r 's~^(\t*)(.*)( const )([A-Za-z0-9_ ]+(\[.*\]){2,})(( = \{)|(;))(.*)$$~\1\2 \4\6\8\9~g'
|
||||
GCC295_FIX=sed -r 's@^(\t*)(.*)( const )([A-Za-z0-9_ ]+(\[.*\]){2,})(( = \{)|(;))(.*)$$@\1\2 \4\6\8\9@g'
|
||||
# This 'sed' removes the 3rd '4' in the # lines of the -E output of
|
||||
# gcc 2.95.3 and lower, as it should indicate that it is a C-linkage, but the
|
||||
# compiler can't handle that information (just don't ask). So we remove it
|
||||
@@ -65,7 +65,7 @@ GCC295_FIX=sed -r 's~^(\t*)(.*)( const )([A-Za-z0-9_ ]+(\[.*\]){2,})(( = \{)|(;)
|
||||
# Furthermore gcc 2.95 has some trouble with protected and private when
|
||||
# accessing the protected/private stuff of the enclosing class (or the
|
||||
# super class of the enclosing class).
|
||||
GCC295_FIX_2=sed -e 's~\(^\# [0-9][0-9]* "[^"]*"[ 0-9]*\) 4$$~\1~g;s~private:~public:~g;s~protected:~public:~g'
|
||||
GCC295_FIX_2=sed -e 's@\(^\# [0-9][0-9]* "[^"]*"[ 0-9]*\) 4$$@\1@g;s@private:@public:@g;s@protected:@public:@g'
|
||||
|
||||
# Check if we want to show what we are doing
|
||||
ifdef VERBOSE
|
||||
@@ -98,7 +98,7 @@ MODIFIED := $(shell echo "$(VERSIONS)" | cut -f 3 -d' ')
|
||||
ifdef REVISION
|
||||
# Use specified revision (which should be of the form "r000").
|
||||
REV := $(REVISION)
|
||||
REV_NR := $(shell echo $(REVISION) | sed "s~[^0-9]~~g")
|
||||
REV_NR := $(shell echo $(REVISION) | sed "s@[^0-9]@@g")
|
||||
else
|
||||
# Use autodetected revisions
|
||||
REV := $(shell echo "$(VERSIONS)" | cut -f 1 -d' ')
|
||||
@@ -143,15 +143,15 @@ endif
|
||||
|
||||
$(OBJS_C:%.o=%.d): %.d: $(SRC_DIR)/%.c $(FILE_DEP)
|
||||
$(E) '$(STAGE) DEP $(<:$(SRC_DIR)/%.c=%.c)'
|
||||
$(Q)$(CC_HOST) $(CC_CFLAGS) $(CFLAGS) -MM $< | sed 's~^$(@F:%.d=%.o):~$@ $(@:%.d=%.o):~' > $@
|
||||
$(Q)$(CC_HOST) $(CC_CFLAGS) $(CFLAGS) -MM $< | sed 's@^$(@F:%.d=%.o):@$@ $(@:%.d=%.o):@' > $@
|
||||
|
||||
$(OBJS_CPP:%.o=%.d): %.d: $(SRC_DIR)/%.cpp $(FILE_DEP)
|
||||
$(E) '$(STAGE) DEP $(<:$(SRC_DIR)/%.cpp=%.cpp)'
|
||||
$(Q)$(CXX_HOST) $(CFLAGS) -MM $< | sed 's~^$(@F:%.d=%.o):~$@ $(@:%.d=%.o):~' > $@
|
||||
$(Q)$(CXX_HOST) $(CFLAGS) -MM $< | sed 's@^$(@F:%.d=%.o):@$@ $(@:%.d=%.o):@' > $@
|
||||
|
||||
$(OBJS_MM:%.o=%.d): %.d: $(SRC_DIR)/%.mm $(FILE_DEP)
|
||||
$(E) '$(STAGE) DEP $(<:$(SRC_DIR)/%.mm=%.mm)'
|
||||
$(Q)$(CC_HOST) $(CFLAGS) -MM $< | sed 's~^$(@F:%.d=%.o):~$@ $(@:%.d=%.o):~' > $@
|
||||
$(Q)$(CC_HOST) $(CFLAGS) -MM $< | sed 's@^$(@F:%.d=%.o):@$@ $(@:%.d=%.o):@' > $@
|
||||
|
||||
$(OBJS_RC:%.o=%.d): %.d: $(SRC_DIR)/%.rc $(FILE_DEP)
|
||||
$(E) '$(STAGE) DEP $(<:$(SRC_DIR)/%.mm=%.mm)'
|
||||
@@ -182,7 +182,7 @@ endif
|
||||
|
||||
# Convert x:/... paths to /x/... for mingw
|
||||
ifeq ($(OS), MINGW)
|
||||
@cat Makefile.dep.tmp | sed 's~\([a-zA-Z]\):\/~\/\1\/~g' > Makefile.dep.tmp.mingw
|
||||
@cat Makefile.dep.tmp | sed 's@\([a-zA-Z]\):\/@\/\1\/@g' > Makefile.dep.tmp.mingw
|
||||
@cp Makefile.dep.tmp.mingw Makefile.dep.tmp
|
||||
@rm -f Makefile.dep.tmp.mingw
|
||||
endif
|
||||
@@ -211,7 +211,7 @@ endif
|
||||
{ \
|
||||
print $$0 \
|
||||
} \
|
||||
' < Makefile.dep.tmp | sed 's~ *~ ~g;s~ $$~~' | $(SORT) > Makefile.dep
|
||||
' < Makefile.dep.tmp | sed 's@ *@ @g;s@ $$@@' | $(SORT) > Makefile.dep
|
||||
|
||||
$(Q)rm -f Makefile.dep.tmp Makefile.dep.tmp.bak
|
||||
|
||||
@@ -280,10 +280,10 @@ $(ENDIAN_CHECK): $(SRC_DIR)/endian_check.cpp
|
||||
# Revision files
|
||||
|
||||
$(SRC_DIR)/rev.cpp: $(CONFIG_CACHE_VERSION) $(SRC_DIR)/rev.cpp.in
|
||||
$(Q)cat $(SRC_DIR)/rev.cpp.in | sed "s~@@REVISION@@~$(REV_NR)~g;s~@@VERSION@@~$(REV)~g;s~@@MODIFIED@@~$(MODIFIED)~g;s~@@DATE@@~`date +%d.%m.%y`~g" > $(SRC_DIR)/rev.cpp
|
||||
$(Q)cat $(SRC_DIR)/rev.cpp.in | sed "s@\!\!REVISION\!\!@$(REV_NR)@g;s@!!VERSION!!@$(REV)@g;s@!!MODIFIED!!@$(MODIFIED)@g;s@!!DATE!!@`date +%d.%m.%y`@g" > $(SRC_DIR)/rev.cpp
|
||||
|
||||
$(SRC_DIR)/ottdres.rc: $(CONFIG_CACHE_VERSION) $(SRC_DIR)/ottdres.rc.in
|
||||
$(Q)cat $(SRC_DIR)/ottdres.rc.in | sed "s~@@REVISION@@~$(REV_NR)~g;s~@@VERSION@@~$(REV)~g;s~@@DATE@@~`date +%d.%m.%y`~g" > $(SRC_DIR)/ottdres.rc
|
||||
$(Q)cat $(SRC_DIR)/ottdres.rc.in | sed "s@\!\!REVISION\!\!@$(REV_NR)@g;s@!!VERSION!!@$(REV)@g;s@!!DATE!!@`date +%d.%m.%y`@g" > $(SRC_DIR)/ottdres.rc
|
||||
|
||||
FORCE:
|
||||
|
||||
|
@@ -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
|
||||
@@ -1052,7 +1072,7 @@
|
||||
GetAutoRenewStatus(); true
|
||||
SetAutoRenewStatus(true); false
|
||||
SetAutoRenewStatus(false); true
|
||||
GetAutoRenewMonths(); -6
|
||||
GetAutoRenewMonths(); 6
|
||||
SetAutoRenewMonths(-12); true
|
||||
GetAutoRenewMonths(); -12
|
||||
SetAutoRenewMonths(-12); false
|
||||
@@ -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
|
||||
|
1959
changelog.txt
1959
changelog.txt
File diff suppressed because it is too large
Load Diff
191
config.lib
191
config.lib
@@ -5,7 +5,7 @@ log() {
|
||||
}
|
||||
|
||||
set_default() {
|
||||
released_version="0.7.0-RC2"
|
||||
released_version="0.7.1-RC2"
|
||||
|
||||
ignore_extra_parameters="0"
|
||||
# We set all kinds of defaults for params. Later on the user can override
|
||||
@@ -415,7 +415,7 @@ save_params() {
|
||||
configure="$CONFIGURE_EXECUTABLE --ignore-extra-parameters"
|
||||
for p in $save_params_array; do
|
||||
eval "v=\"\$$p\""
|
||||
p=`echo "$p" | sed 's~_~-~g;s~\n~~g;s~ ~\\ ~g'`
|
||||
p=`echo "$p" | sed 's@_@-@g;s@\n@@g;s@ @\\ @g'`
|
||||
# Only save those params that aren't empty
|
||||
configure="$configure --$p=\"$v\""
|
||||
done
|
||||
@@ -815,6 +815,7 @@ check_params() {
|
||||
fi
|
||||
|
||||
if [ "$os" = "OSX" ]; then
|
||||
check_osx_sdk
|
||||
# Test on G5
|
||||
|
||||
if [ "$enable_osx_g5" != "0" ]; then
|
||||
@@ -903,7 +904,7 @@ check_params() {
|
||||
doc_dir="$data_dir/docs"
|
||||
fi
|
||||
else
|
||||
doc_dir="`echo $doc_dir | sed 's~\([^\]\)\\\\ ~\1\\\\\\\\ ~g;s~\([^\]\) ~\1\\\\\\\\ ~g'`"
|
||||
doc_dir="`echo $doc_dir | sed 's@\([^\]\)\\\\ @\1\\\\\\\\ @g;s@\([^\]\) @\1\\\\\\\\ @g'`"
|
||||
fi
|
||||
|
||||
if [ "$icon_theme_dir" = "1" ]; then
|
||||
@@ -913,7 +914,7 @@ check_params() {
|
||||
icon_theme_dir=""
|
||||
fi
|
||||
else
|
||||
icon_theme_dir="`echo $icon_theme_dir | sed 's~\([^\]\)\\\\ ~\1\\\\\\\\ ~g;s~\([^\]\) ~\1\\\\\\\\ ~g'`"
|
||||
icon_theme_dir="`echo $icon_theme_dir | sed 's@\([^\]\)\\\\ @\1\\\\\\\\ @g;s@\([^\]\) @\1\\\\\\\\ @g'`"
|
||||
fi
|
||||
|
||||
if [ "$personal_dir" = "1" ]; then
|
||||
@@ -925,7 +926,7 @@ check_params() {
|
||||
personal_dir=".openttd"
|
||||
fi
|
||||
else
|
||||
personal_dir="`echo $personal_dir | sed 's~\([^\]\)\\\\ ~\1\\\\\\\\ ~g;s~\([^\]\) ~\1\\\\\\\\ ~g'`"
|
||||
personal_dir="`echo $personal_dir | sed 's@\([^\]\)\\\\ @\1\\\\\\\\ @g;s@\([^\]\) @\1\\\\\\\\ @g'`"
|
||||
fi
|
||||
|
||||
if [ "$shared_dir" = "1" ]; then
|
||||
@@ -936,7 +937,7 @@ check_params() {
|
||||
shared_dir=""
|
||||
fi
|
||||
else
|
||||
shared_dir="`echo $shared_dir | sed 's~\([^\]\)\\\\ ~\1\\\\\\\\ ~g;s~\([^\]\) ~\1\\\\\\\\ ~g'`"
|
||||
shared_dir="`echo $shared_dir | sed 's@\([^\]\)\\\\ @\1\\\\\\\\ @g;s@\([^\]\) @\1\\\\\\\\ @g'`"
|
||||
fi
|
||||
|
||||
if [ "$man_dir" = "1" ]; then
|
||||
@@ -947,7 +948,7 @@ check_params() {
|
||||
man_dir=""
|
||||
fi
|
||||
else
|
||||
man_dir="`echo $man_dir | sed 's~\([^\]\)\\\\ ~\1\\\\\\\\ ~g;s~\([^\]\) ~\1\\\\\\\\ ~g'`"
|
||||
man_dir="`echo $man_dir | sed 's@\([^\]\)\\\\ @\1\\\\\\\\ @g;s@\([^\]\) @\1\\\\\\\\ @g'`"
|
||||
fi
|
||||
|
||||
if [ "$menu_dir" = "1" ]; then
|
||||
@@ -958,7 +959,7 @@ check_params() {
|
||||
menu_dir=""
|
||||
fi
|
||||
else
|
||||
menu_dir="`echo $menu_dir | sed 's~\([^\]\)\\\\ ~\1\\\\\\\\ ~g;s~\([^\]\) ~\1\\\\\\\\ ~g'`"
|
||||
menu_dir="`echo $menu_dir | sed 's@\([^\]\)\\\\ @\1\\\\\\\\ @g;s@\([^\]\) @\1\\\\\\\\ @g'`"
|
||||
fi
|
||||
|
||||
# "set_universal_binary_flags" needs to be before "detect_iconv"
|
||||
@@ -1206,7 +1207,7 @@ make_cflags_and_ldflags() {
|
||||
if [ -n "$sdl_config" ]; then
|
||||
CFLAGS="$CFLAGS -DWITH_SDL"
|
||||
# SDL must not add _GNU_SOURCE as it breaks many platforms
|
||||
CFLAGS="$CFLAGS `$sdl_config --cflags | sed 's~-D_GNU_SOURCE[^ ]*~~'`"
|
||||
CFLAGS="$CFLAGS `$sdl_config --cflags | sed 's@-D_GNU_SOURCE[^ ]*@@'`"
|
||||
if [ "$os" != "MINGW" ] && [ "$os" != "CYGWIN" ] && [ "$os" != "WINCE" ]; then
|
||||
if [ "$enable_static" != "0" ]; then
|
||||
LIBS="$LIBS `$sdl_config --static-libs`"
|
||||
@@ -1268,7 +1269,7 @@ make_cflags_and_ldflags() {
|
||||
if [ "$os" = "OSX" ]; then
|
||||
# fontconfig_config goes via pkg-config on all systems, which doesn't know --prefix
|
||||
# Also, despite the reason we link to the .a file ourself (because we can't use -static), we do need to ask pkg-config about possible other deps
|
||||
LIBS="$LIBS `$fontconfig_config --variable=prefix`/lib/libfontconfig.a `$fontconfig_config --libs --static | sed s~-lfontconfig~~`"
|
||||
LIBS="$LIBS `$fontconfig_config --variable=prefix`/lib/libfontconfig.a `$fontconfig_config --libs --static | sed s@-lfontconfig@@`"
|
||||
else
|
||||
LIBS="$LIBS `$fontconfig_config --libs --static | tr '\n\r' ' '`"
|
||||
fi
|
||||
@@ -1400,8 +1401,10 @@ make_cflags_and_ldflags() {
|
||||
# Lovely hackish, not?
|
||||
# Btw, this almost always comes from outside the configure, so it is
|
||||
# not something we can control.
|
||||
# Also make makedepend aware of compiler's built-in defines.
|
||||
if [ "$with_makedepend" != "0" ]; then
|
||||
cflags_makedep="` echo "$CFLAGS" | sed 's~ /~ -~g;s~-I[ ]*[^ ]*~~g'`"
|
||||
cflags_makedep="`echo | $cxx_host -E -x c++ -dM - | sed 's@.define @-D@g;s@ .*@ @g;s@(.*)@@g' | tr -d '\r\n'`"
|
||||
cflags_makedep="$cflags_makedep `echo "$CFLAGS" | sed 's@ /@ -@g;s@-I[ ]*[^ ]*@@g'`"
|
||||
else
|
||||
makedepend=""
|
||||
fi
|
||||
@@ -1617,6 +1620,30 @@ set_universal_binary_flags() {
|
||||
fi
|
||||
}
|
||||
|
||||
check_osx_sdk() {
|
||||
cat > tmp.osx.cpp << EOF
|
||||
#include <AvailabilityMacros.h>
|
||||
#if !defined(MAC_OS_X_VERSION_10_5)
|
||||
# error "Need newer SDK"
|
||||
#endif
|
||||
int main() {
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
execute="$cxx_host $CFLAGS -E tmp.osx.cpp -o - 2>&1"
|
||||
eval $execute > /dev/null
|
||||
ret=$?
|
||||
log 2 "executing $execute"
|
||||
log 2 " exit code $ret"
|
||||
rm -f tmp.osx.cpp
|
||||
if [ "$ret" != "0" ]; then
|
||||
log 1 "I couldn't detect any XCode >= 2.5 on your system"
|
||||
log 1 "please install/upgrade your XCode"
|
||||
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
check_direct_music() {
|
||||
echo "
|
||||
#include <windows.h>
|
||||
@@ -2405,7 +2432,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 +2453,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"
|
||||
@@ -2537,104 +2564,104 @@ make_sed() {
|
||||
# use multiple OBJS_DIR, because all in-between
|
||||
# binaries are stored in there, and nowhere else.
|
||||
SRC_REPLACE="
|
||||
s~!!CC_HOST!!~$cc_host~g;
|
||||
s~!!CXX_HOST!!~$cxx_host~g;
|
||||
s~!!CC_BUILD!!~$cc_build~g;
|
||||
s~!!CXX_BUILD!!~$cxx_build~g;
|
||||
s~!!WINDRES!!~$windres~g;
|
||||
s~!!STRIP!!~$strip $strip_arg~g;
|
||||
s~!!LIPO!!~$lipo~g;
|
||||
s~!!CC_CFLAGS!!~$CC_CFLAGS~g;
|
||||
s~!!CFLAGS!!~$T_CFLAGS~g;
|
||||
s~!!CFLAGS_BUILD!!~$CFLAGS_BUILD~g;
|
||||
s~!!STRGEN_FLAGS!!~$strgen_flags~g;
|
||||
s~!!LIBS!!~$LIBS~g;
|
||||
s~!!LDFLAGS!!~$T_LDFLAGS~g;
|
||||
s~!!BIN_DIR!!~$BIN_DIR~g;
|
||||
s~!!ROOT_DIR!!~$ROOT_DIR~g;
|
||||
s~!!MEDIA_DIR!!~$MEDIA_DIR~g;
|
||||
s~!!SOURCE_LIST!!~$SOURCE_LIST~g;
|
||||
s~!!SRC_OBJS_DIR!!~$SRC_OBJS_DIR~g;
|
||||
s~!!LANG_OBJS_DIR!!~$LANG_OBJS_DIR~g;
|
||||
s~!!SRC_DIR!!~$SRC_DIR~g;
|
||||
s~!!SCRIPT_SRC_DIR!!~$SCRIPT_SRC_DIR~g;
|
||||
s~!!OSXAPP!!~$OSXAPP~g;
|
||||
s~!!LANG_DIR!!~$LANG_DIR~g;
|
||||
s~!!TTD!!~$TTD~g;
|
||||
s~!!BINARY_DIR!!~$prefix_dir/$binary_dir~g;
|
||||
s~!!DATA_DIR!!~$prefix_dir/$data_dir~g;
|
||||
s~!!DOC_DIR!!~$prefix_dir/$doc_dir~g;
|
||||
s~!!MAN_DIR!!~$prefix_dir/$man_dir~g;
|
||||
s~!!ICON_DIR!!~$prefix_dir/$icon_dir~g;
|
||||
s~!!ICON_THEME_DIR!!~$prefix_dir/$icon_theme_dir~g;
|
||||
s~!!PERSONAL_DIR!!~$personal_dir~g;
|
||||
s~!!SHARED_DIR!!~$shared_dir~g;
|
||||
s~!!INSTALL_DIR!!~$install_dir~g;
|
||||
s~!!BINARY_NAME!!~$binary_name~g;
|
||||
s~!!STRGEN!!~$STRGEN~g;
|
||||
s~!!ENDIAN_CHECK!!~$ENDIAN_CHECK~g;
|
||||
s~!!ENDIAN_FORCE!!~$endian~g;
|
||||
s~!!STAGE!!~$STAGE~g;
|
||||
s~!!MAKEDEPEND!!~$makedepend~g;
|
||||
s~!!CFLAGS_MAKEDEP!!~$cflags_makedep~g;
|
||||
s~!!SORT!!~$sort~g;
|
||||
s~!!CONFIG_CACHE_COMPILER!!~config.cache.compiler~g;
|
||||
s~!!CONFIG_CACHE_LINKER!!~config.cache.linker~g;
|
||||
s~!!CONFIG_CACHE_ENDIAN!!~config.cache.endian~g;
|
||||
s~!!CONFIG_CACHE_SOURCE!!~config.cache.source~g;
|
||||
s~!!CONFIG_CACHE_VERSION!!~config.cache.version~g;
|
||||
s~!!CONFIG_CACHE_SOURCE_LIST!!~config.cache.source.list~g;
|
||||
s~!!CONFIG_CACHE_PWD!!~config.cache.pwd~g;
|
||||
s~!!LANG_SUPPRESS!!~$lang_suppress~g;
|
||||
s~!!OBJS_C!!~$OBJS_C~g;
|
||||
s~!!OBJS_CPP!!~$OBJS_CPP~g;
|
||||
s~!!OBJS_MM!!~$OBJS_MM~g;
|
||||
s~!!OBJS_RC!!~$OBJS_RC~g;
|
||||
s~!!SRCS!!~$SRCS~g;
|
||||
s~!!OS!!~$os~g;
|
||||
s~!!CONFIGURE_FILES!!~$CONFIGURE_FILES~g;
|
||||
s~!!REVISION!!~$revision~g;
|
||||
s~!!AWK!!~$awk~g;
|
||||
s~!!GCC295!!~$gcc295~g;
|
||||
s~!!DISTCC!!~$distcc~g;
|
||||
s@!!CC_HOST!!@$cc_host@g;
|
||||
s@!!CXX_HOST!!@$cxx_host@g;
|
||||
s@!!CC_BUILD!!@$cc_build@g;
|
||||
s@!!CXX_BUILD!!@$cxx_build@g;
|
||||
s@!!WINDRES!!@$windres@g;
|
||||
s@!!STRIP!!@$strip $strip_arg@g;
|
||||
s@!!LIPO!!@$lipo@g;
|
||||
s@!!CC_CFLAGS!!@$CC_CFLAGS@g;
|
||||
s@!!CFLAGS!!@$T_CFLAGS@g;
|
||||
s@!!CFLAGS_BUILD!!@$CFLAGS_BUILD@g;
|
||||
s@!!STRGEN_FLAGS!!@$strgen_flags@g;
|
||||
s@!!LIBS!!@$LIBS@g;
|
||||
s@!!LDFLAGS!!@$T_LDFLAGS@g;
|
||||
s@!!BIN_DIR!!@$BIN_DIR@g;
|
||||
s@!!ROOT_DIR!!@$ROOT_DIR@g;
|
||||
s@!!MEDIA_DIR!!@$MEDIA_DIR@g;
|
||||
s@!!SOURCE_LIST!!@$SOURCE_LIST@g;
|
||||
s@!!SRC_OBJS_DIR!!@$SRC_OBJS_DIR@g;
|
||||
s@!!LANG_OBJS_DIR!!@$LANG_OBJS_DIR@g;
|
||||
s@!!SRC_DIR!!@$SRC_DIR@g;
|
||||
s@!!SCRIPT_SRC_DIR!!@$SCRIPT_SRC_DIR@g;
|
||||
s@!!OSXAPP!!@$OSXAPP@g;
|
||||
s@!!LANG_DIR!!@$LANG_DIR@g;
|
||||
s@!!TTD!!@$TTD@g;
|
||||
s@!!BINARY_DIR!!@$prefix_dir/$binary_dir@g;
|
||||
s@!!DATA_DIR!!@$prefix_dir/$data_dir@g;
|
||||
s@!!DOC_DIR!!@$prefix_dir/$doc_dir@g;
|
||||
s@!!MAN_DIR!!@$prefix_dir/$man_dir@g;
|
||||
s@!!ICON_DIR!!@$prefix_dir/$icon_dir@g;
|
||||
s@!!ICON_THEME_DIR!!@$prefix_dir/$icon_theme_dir@g;
|
||||
s@!!PERSONAL_DIR!!@$personal_dir@g;
|
||||
s@!!SHARED_DIR!!@$shared_dir@g;
|
||||
s@!!INSTALL_DIR!!@$install_dir@g;
|
||||
s@!!BINARY_NAME!!@$binary_name@g;
|
||||
s@!!STRGEN!!@$STRGEN@g;
|
||||
s@!!ENDIAN_CHECK!!@$ENDIAN_CHECK@g;
|
||||
s@!!ENDIAN_FORCE!!@$endian@g;
|
||||
s@!!STAGE!!@$STAGE@g;
|
||||
s@!!MAKEDEPEND!!@$makedepend@g;
|
||||
s@!!CFLAGS_MAKEDEP!!@$cflags_makedep@g;
|
||||
s@!!SORT!!@$sort@g;
|
||||
s@!!CONFIG_CACHE_COMPILER!!@config.cache.compiler@g;
|
||||
s@!!CONFIG_CACHE_LINKER!!@config.cache.linker@g;
|
||||
s@!!CONFIG_CACHE_ENDIAN!!@config.cache.endian@g;
|
||||
s@!!CONFIG_CACHE_SOURCE!!@config.cache.source@g;
|
||||
s@!!CONFIG_CACHE_VERSION!!@config.cache.version@g;
|
||||
s@!!CONFIG_CACHE_SOURCE_LIST!!@config.cache.source.list@g;
|
||||
s@!!CONFIG_CACHE_PWD!!@config.cache.pwd@g;
|
||||
s@!!LANG_SUPPRESS!!@$lang_suppress@g;
|
||||
s@!!OBJS_C!!@$OBJS_C@g;
|
||||
s@!!OBJS_CPP!!@$OBJS_CPP@g;
|
||||
s@!!OBJS_MM!!@$OBJS_MM@g;
|
||||
s@!!OBJS_RC!!@$OBJS_RC@g;
|
||||
s@!!SRCS!!@$SRCS@g;
|
||||
s@!!OS!!@$os@g;
|
||||
s@!!CONFIGURE_FILES!!@$CONFIGURE_FILES@g;
|
||||
s@!!REVISION!!@$revision@g;
|
||||
s@!!AWK!!@$awk@g;
|
||||
s@!!GCC295!!@$gcc295@g;
|
||||
s@!!DISTCC!!@$distcc@g;
|
||||
"
|
||||
|
||||
if [ "$icon_theme_dir" != "" ]; then
|
||||
SRC_REPLACE="$SRC_REPLACE
|
||||
s#!!ICON_THEME_DIR!!#$prefix_dir/$icon_theme_dir#g;
|
||||
s@!!ICON_THEME_DIR!!@$prefix_dir/$icon_theme_dir@g;
|
||||
"
|
||||
else
|
||||
SRC_REPLACE="$SRC_REPLACE
|
||||
s#!!ICON_THEME_DIR!!##g;
|
||||
s@!!ICON_THEME_DIR!!@@g;
|
||||
"
|
||||
fi
|
||||
|
||||
if [ "$man_dir" != "" ]; then
|
||||
SRC_REPLACE="$SRC_REPLACE
|
||||
s#!!MAN_DIR!!#$prefix_dir/$man_dir#g;
|
||||
s@!!MAN_DIR!!@$prefix_dir/$man_dir@g;
|
||||
"
|
||||
else
|
||||
SRC_REPLACE="$SRC_REPLACE
|
||||
s#!!MAN_DIR!!##g;
|
||||
s@!!MAN_DIR!!@@g;
|
||||
"
|
||||
fi
|
||||
|
||||
if [ "$menu_dir" != "" ]; then
|
||||
SRC_REPLACE="$SRC_REPLACE
|
||||
s#!!MENU_DIR!!#$prefix_dir/$menu_dir#g;
|
||||
s@!!MENU_DIR!!@$prefix_dir/$menu_dir@g;
|
||||
"
|
||||
else
|
||||
SRC_REPLACE="$SRC_REPLACE
|
||||
s#!!MENU_DIR!!##g;
|
||||
s@!!MENU_DIR!!@@g;
|
||||
"
|
||||
fi
|
||||
}
|
||||
|
||||
generate_menu_item() {
|
||||
MENU_REPLACE="
|
||||
s~!!TTD!!~$TTD~g;
|
||||
s~!!MENU_GROUP!!~$menu_group~g;
|
||||
s~!!MENU_NAME!!~$menu_name~g
|
||||
s@!!TTD!!@$TTD@g;
|
||||
s@!!MENU_GROUP!!@$menu_group@g;
|
||||
s@!!MENU_NAME!!@$menu_name@g
|
||||
"
|
||||
log 1 "Generating menu item..."
|
||||
mkdir -p media
|
||||
|
6
configure
vendored
6
configure
vendored
@@ -37,7 +37,7 @@ if [ "$1" = "--reconfig" ] || [ "$1" = "--reconfigure" ]; then
|
||||
exit 1
|
||||
fi
|
||||
# Make sure we don't lock config.cache
|
||||
cat config.cache | sed 's~\\ ~\\\\ ~g' > cache.tmp
|
||||
cat config.cache | sed 's@\\ @\\\\ @g' > cache.tmp
|
||||
sh cache.tmp
|
||||
rm -f cache.tmp
|
||||
exit $?
|
||||
@@ -59,7 +59,7 @@ STRGEN="strgen$EXE"
|
||||
ENDIAN_CHECK="endian_check$EXE"
|
||||
|
||||
if [ -z "$sort" ]; then
|
||||
PIPE_SORT="sed s~a~a~"
|
||||
PIPE_SORT="sed s@a@a@"
|
||||
else
|
||||
PIPE_SORT="$sort"
|
||||
fi
|
||||
@@ -125,7 +125,7 @@ SRCS="` echo \"$SRCS\" | $awk ' { ORS = " " } { print $0; }'`"
|
||||
|
||||
# In makefiles, we always use -u for sort
|
||||
if [ -z "$sort" ]; then
|
||||
sort="sed s~a~a~"
|
||||
sort="sed s@a@a@"
|
||||
else
|
||||
sort="$sort -u"
|
||||
fi
|
||||
|
@@ -86,8 +86,8 @@ elif [ -d "$ROOT_DIR/.git" ]; then
|
||||
fi
|
||||
HASH=`LC_ALL=C git rev-parse --verify HEAD 2>/dev/null`
|
||||
REV="g`echo $HASH | cut -c1-8`"
|
||||
BRANCH=`git branch|grep '[*]' | sed 's~\* ~~;s~^master$~~'`
|
||||
REV_NR=`LC_ALL=C git log --pretty=format:%s "$SRC_DIR" | grep "^(svn r[0-9]*)" | head -n 1 | sed "s~.*(svn r\([0-9]*\)).*~\1~"`
|
||||
BRANCH=`git branch|grep '[*]' | sed 's@\* @@;s@^master$@@'`
|
||||
REV_NR=`LC_ALL=C git log --pretty=format:%s "$SRC_DIR" | grep "^(svn r[0-9]*)" | head -n 1 | sed "s@.*(svn r\([0-9]*\)).*@\1@"`
|
||||
elif [ -d "$ROOT_DIR/.hg" ]; then
|
||||
# We are a hg checkout
|
||||
if [ -n "`hg status \"$SRC_DIR\" | grep -v '^?'`" ]; then
|
||||
@@ -95,8 +95,8 @@ elif [ -d "$ROOT_DIR/.hg" ]; then
|
||||
fi
|
||||
HASH=`LC_ALL=C hg parents 2>/dev/null | head -n 1 | cut -d: -f3`
|
||||
REV="h`echo $HASH | cut -c1-8`"
|
||||
BRANCH=`hg branch | sed 's~^default$~~'`
|
||||
REV_NR=`LC_ALL=C hg log -r $HASH:0 -k "svn" -l 1 --template "{desc}\n" "$SRC_DIR" | grep "^(svn r[0-9]*)" | head -n 1 | sed "s~.*(svn r\([0-9]*\)).*~\1~"`
|
||||
BRANCH=`hg branch | sed 's@^default$@@'`
|
||||
REV_NR=`LC_ALL=C hg log -r $HASH:0 -k "svn" -l 1 --template "{desc}\n" "$SRC_DIR" | grep "^(svn r[0-9]*)" | head -n 1 | sed "s@.*(svn r\([0-9]*\)).*@\1@"`
|
||||
else
|
||||
# We don't know
|
||||
MODIFIED="1"
|
||||
|
@@ -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-RC2
|
||||
Bugs for 0.7.1-RC1
|
||||
------------------------------------------------------------------------
|
||||
URL: http://bugs.openttd.org
|
||||
|
||||
- 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,22 +1,40 @@
|
||||
openttd (0.7.0-RC2) unstable; urgency=low
|
||||
openttd (0.7.1~RC2) unstable; urgency=low
|
||||
|
||||
* New upstream release.
|
||||
|
||||
-- Matthijs Kooijman <matthijs@stdin.nl> Thu, 21 Mar 2008 14:34:56 +0200
|
||||
|
||||
openttd (0.7.1~RC1) unstable; urgency=low
|
||||
|
||||
* New upstream release.
|
||||
|
||||
-- Matthijs Kooijman <matthijs@stdin.nl> Mon, 11 Mar 2008 17:34:56 +0200
|
||||
|
||||
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
|
||||
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
|
||||
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 57 ; NEED TO UPDATE THIS FOR EVERY RELEASE!!!
|
||||
!define APPVERSION "0.7.1-RC2" ; Define application version
|
||||
!define APPVERSIONINTERNAL "0.7.1.0" ; Define application version in X.X.X.X
|
||||
!define INSTALLERVERSION 60 ; 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 MUI_ICON "..\..\..\media\openttd.ico"
|
||||
!define MUI_UNICON "..\..\..\media\openttd.ico"
|
||||
@@ -112,13 +112,6 @@ Section "!OpenTTD" Section1
|
||||
File ${PATH_ROOT}bin\data\*.grf
|
||||
File ${PATH_ROOT}bin\data\*.obg
|
||||
File ${PATH_ROOT}bin\data\opntitle.dat
|
||||
; Copy scenario files (don't choke if they don't exist)
|
||||
SetOutPath "$INSTDIR\scenario\"
|
||||
File /nonfatal ${PATH_ROOT}bin\scenario\*.scn
|
||||
|
||||
; Copy heightmap files (don't choke if they don't exist)
|
||||
SetOutPath "$INSTDIR\scenario\heightmap\"
|
||||
File /nonfatal ${PATH_ROOT}bin\scenario\heightmap\*.*
|
||||
|
||||
; Copy the scripts
|
||||
SetOutPath "$INSTDIR\scripts\"
|
||||
|
@@ -16,10 +16,10 @@ End Sub
|
||||
|
||||
Sub UpdateFile(modified, revision, version, cur_date, filename)
|
||||
FSO.CopyFile filename & ".in", filename
|
||||
FindReplaceInFile filename, "@@MODIFIED@@", modified
|
||||
FindReplaceInFile filename, "@@REVISION@@", revision
|
||||
FindReplaceInFile filename, "@@VERSION@@", version
|
||||
FindReplaceInFile filename, "@@DATE@@", cur_date
|
||||
FindReplaceInFile filename, "!!MODIFIED!!", modified
|
||||
FindReplaceInFile filename, "!!REVISION!!", revision
|
||||
FindReplaceInFile filename, "!!VERSION!!", version
|
||||
FindReplaceInFile filename, "!!DATE!!", cur_date
|
||||
End Sub
|
||||
|
||||
Sub UpdateFiles(version)
|
||||
@@ -32,7 +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.0-RC2"
|
||||
version = "0.7.1-RC2"
|
||||
revision = 0
|
||||
modified = 1
|
||||
End If
|
||||
|
@@ -1,6 +1,6 @@
|
||||
OpenTTD README
|
||||
Last updated: 2009-03-23
|
||||
Release version: 0.7.0-RC2
|
||||
Last updated: 2009-04-01
|
||||
Release version: 0.7.0
|
||||
------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
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 {
|
||||
|
@@ -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,8 +256,15 @@ void AIInstance::Died()
|
||||
this->engine = NULL;
|
||||
|
||||
ShowAIDebugWindow(_current_company);
|
||||
if (strcmp(GetCompany(_current_company)->ai_info->GetMainScript(), "%_dummy") != 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());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -203,6 +203,7 @@
|
||||
if (IsRailWaypointTile(tile)) return ::GetRailWaypointBits(tile);
|
||||
if (IsRailStationTile(tile)) return ::TrackToTrackBits(::GetRailStationTrack(tile));
|
||||
if (IsLevelCrossingTile(tile)) return ::GetCrossingRailBits(tile);
|
||||
if (IsRailDepotTile(tile)) return ::TRACK_BIT_NONE;
|
||||
return ::GetTrackBits(tile);
|
||||
}
|
||||
|
||||
|
@@ -293,6 +293,7 @@ public:
|
||||
|
||||
/**
|
||||
* Get all RailTracks on the given tile.
|
||||
* @note A depot has no railtracks.
|
||||
* @param tile The tile to check.
|
||||
* @pre IsRailTile(tile).
|
||||
* @return A bitmask of RailTrack with all RailTracks on the tile.
|
||||
|
@@ -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.
|
||||
};
|
||||
|
||||
/**
|
||||
|
@@ -445,12 +445,11 @@ Company *DoStartupNewCompany(bool is_ai)
|
||||
c->inaugurated_year = _cur_year;
|
||||
RandomCompanyManagerFaceBits(c->face, (GenderEthnicity)Random(), false); // create a random company manager face
|
||||
|
||||
/* Engine renewal settings */
|
||||
c->engine_renew_list = NULL;
|
||||
c->renew_keep_length = false;
|
||||
c->engine_renew = _settings_client.gui.autorenew;
|
||||
c->engine_renew_months = _settings_client.gui.autorenew_months;
|
||||
c->engine_renew_money = _settings_client.gui.autorenew_money;
|
||||
/* Settings for non-ai companies are copied from the client settings later. */
|
||||
if (is_ai) {
|
||||
c->engine_renew_money = 100000;
|
||||
c->engine_renew_months = 6;
|
||||
}
|
||||
|
||||
GeneratePresidentName(c);
|
||||
|
||||
@@ -756,6 +755,9 @@ CommandCost CmdCompanyCtrl(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3
|
||||
|
||||
/* This is the client (or non-dedicated server) who wants a new company */
|
||||
if (cid == _network_own_client_id) {
|
||||
/* Create p1 and p2 here because SetLocalCompany resets the gui.autorenew* settings. */
|
||||
uint32 p1 = (_settings_client.gui.autorenew << 15 ) | (_settings_client.gui.autorenew_months << 16) | 4;
|
||||
uint32 p2 = _settings_client.gui.autorenew_money;
|
||||
assert(_local_company == COMPANY_SPECTATOR);
|
||||
SetLocalCompany(c->index);
|
||||
if (!StrEmpty(_settings_client.network.default_company_pass)) {
|
||||
@@ -767,13 +769,7 @@ CommandCost CmdCompanyCtrl(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3
|
||||
|
||||
/* Now that we have a new company, broadcast our autorenew settings to
|
||||
* all clients so everything is in sync */
|
||||
NetworkSend_Command(0,
|
||||
(_settings_client.gui.autorenew << 15 ) | (_settings_client.gui.autorenew_months << 16) | 4,
|
||||
_settings_client.gui.autorenew_money,
|
||||
CMD_SET_AUTOREPLACE,
|
||||
NULL,
|
||||
NULL
|
||||
);
|
||||
NetworkSend_Command(0, p1, p2, CMD_SET_AUTOREPLACE, NULL, NULL);
|
||||
|
||||
MarkWholeScreenDirty();
|
||||
}
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -318,7 +318,7 @@ static FORCEINLINE T ROR(const T x, const uint8 n)
|
||||
*/
|
||||
static FORCEINLINE uint32 BSWAP32(uint32 x)
|
||||
{
|
||||
#if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && __GNUC_MINOR__ >= 3))
|
||||
#if !defined(__ICC) && defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && __GNUC_MINOR__ >= 3))
|
||||
/* GCC >= 4.3 provides a builtin, resulting in faster code */
|
||||
return (uint32)__builtin_bswap32((int32)x);
|
||||
#else
|
||||
|
@@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -35,7 +35,7 @@ static const CurrencySpec origin_currency_specs[NUM_CURRENCY] = {
|
||||
{ 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
|
||||
{ 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
|
||||
@@ -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 */
|
||||
|
@@ -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.
|
||||
|
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;
|
||||
}
|
||||
|
@@ -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;
|
||||
}
|
||||
|
20
src/gfx.cpp
20
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"
|
||||
@@ -1392,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 {
|
||||
@@ -1460,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
|
||||
@@ -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}
|
||||
|
||||
|
||||
########
|
||||
|
@@ -786,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 :نمساوي
|
||||
@@ -819,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)
|
||||
@@ -2242,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}عدد الوحدات المنقولة
|
||||
@@ -2803,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} متوقف
|
||||
@@ -3173,6 +3174,7 @@ STR_BROKEN_VEHICLE_LENGTH :{WHITE} قطا
|
||||
|
||||
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}اللعبة حفظت بنسخة لا تدعم الترام. كل ما يتعلق بالترام حذف.
|
||||
|
||||
@@ -3243,6 +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_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}العربة غير متاحة
|
||||
STR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE} العربات غير متاحة
|
||||
STR_SHIP_NOT_AVAILABLE :{WHITE} السفن غير متاحة
|
||||
|
@@ -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)
|
||||
@@ -2242,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
|
||||
@@ -2803,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
|
||||
@@ -3173,6 +3174,7 @@ STR_BROKEN_VEHICLE_LENGTH :{WHITE}Trem '{V
|
||||
|
||||
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.
|
||||
|
||||
|
@@ -785,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 :австрийски
|
||||
@@ -818,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)
|
||||
@@ -1109,6 +1109,7 @@ 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}Влакове
|
||||
@@ -3567,8 +3568,21 @@ 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}
|
||||
|
@@ -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.
|
||||
|
||||
|
@@ -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)
|
||||
|
@@ -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í.
|
||||
|
||||
|
@@ -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
|
||||
@@ -700,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
|
||||
@@ -785,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
|
||||
@@ -818,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)
|
||||
@@ -938,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}
|
||||
@@ -2241,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
|
||||
@@ -2615,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)
|
||||
@@ -2802,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
|
||||
@@ -3172,6 +3173,7 @@ STR_BROKEN_VEHICLE_LENGTH :{WHITE}Toget '{
|
||||
|
||||
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.
|
||||
|
||||
|
@@ -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}
|
||||
@@ -2241,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
|
||||
@@ -3172,6 +3173,7 @@ STR_BROKEN_VEHICLE_LENGTH :{WHITE}Trein '{
|
||||
|
||||
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.
|
||||
|
||||
|
@@ -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.
|
||||
|
||||
@@ -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
|
||||
@@ -3172,6 +3173,7 @@ STR_BROKEN_VEHICLE_LENGTH :{WHITE}Train '{
|
||||
|
||||
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.
|
||||
|
||||
|
@@ -760,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
|
||||
@@ -793,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)
|
||||
|
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
@@ -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.
|
||||
|
||||
|
@@ -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
|
||||
@@ -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}
|
||||
########
|
||||
|
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
@@ -780,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 :אוסטרית
|
||||
@@ -813,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) קרונה שוודית
|
||||
|
@@ -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.
|
||||
|
||||
|
@@ -608,6 +608,7 @@ STR_CANNOT_GENERATE_TOWN :{WHITE}Get ekki
|
||||
STR_NO_SPACE_FOR_TOWN :{WHITE}...það er ekkert laust svæði á kortinu
|
||||
STR_023B_INCREASE_SIZE_OF_TOWN :{BLACK}Stækka bæ
|
||||
STR_023C_EXPAND :{BLACK}Stækka
|
||||
STR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}Bærinn getur ekki lagt vegi. Því er hægt að breyta í Þróaðri stillingar->Efnahagur->Bæir.
|
||||
STR_023D_RANDOM_TOWN :{BLACK}Handahófskenndur bær
|
||||
STR_023E_BUILD_TOWN_IN_RANDOM_LOCATION :{BLACK}Byggja bæ á handahófskenndum stað
|
||||
STR_0285_CAN_T_BUILD_HERE :{WHITE}Get ekki byggt {STRING} hérna...
|
||||
@@ -627,7 +628,7 @@ STR_0290_DELETE :{BLACK}Eyða
|
||||
STR_0291_DELETE_THIS_TOWN_COMPLETELY :{BLACK}Eyða þessum bæ algjörlega
|
||||
STR_0292_SAVE_SCENARIO :Vista kort
|
||||
STR_0293_LOAD_SCENARIO :Opna kort
|
||||
STR_MENU_LOAD_HEIGHTMAP :Hlaða hæðarkorti
|
||||
STR_MENU_LOAD_HEIGHTMAP :Hlaða hæðakorti
|
||||
STR_0294_QUIT_EDITOR :Hætta í kortagerð
|
||||
STR_0295 :
|
||||
STR_0296_QUIT :Hætta
|
||||
@@ -635,8 +636,8 @@ STR_0297_SAVE_SCENARIO_LOAD_SCENARIO :{BLACK}Vista ko
|
||||
STR_0298_LOAD_SCENARIO :{WHITE}Opna kort
|
||||
STR_0299_SAVE_SCENARIO :{WHITE}Vista kort
|
||||
STR_029A_PLAY_SCENARIO :{BLACK}Spila kort
|
||||
STR_PLAY_HEIGHTMAP :{BLACK}Spila á hæðarkorti
|
||||
STR_PLAY_HEIGHTMAP_HINT :{BLACK}Hefja nýjan leik byggðan á hæðarkorti
|
||||
STR_PLAY_HEIGHTMAP :{BLACK}Spila á hæðakorti
|
||||
STR_PLAY_HEIGHTMAP_HINT :{BLACK}Hefja nýjan leik byggðan á hæðakorti
|
||||
STR_QUIT_SCENARIO_QUERY :{YELLOW}Ertu viss um að þú viljir hætta í þessu korti ?
|
||||
STR_029D_CAN_ONLY_BE_BUILT_IN_TOWNS :{WHITE}...aðeins hægt að byggja í bæjum með fleiri en 1200 íbúum
|
||||
STR_029E_MOVE_THE_STARTING_DATE :{BLACK}Færa byrjunardagsetninguna aftur um 1 ár
|
||||
@@ -665,9 +666,8 @@ STR_OFF :Af
|
||||
STR_SUMMARY :Úrtak
|
||||
STR_FULL :Allt
|
||||
STR_02BA :{SILVER}- - {COMPANY} - -
|
||||
STR_02BB_TOWN_DIRECTORY :Bæjarmappa
|
||||
STR_02BB_TOWN_DIRECTORY :Listi yfir bæi
|
||||
STR_02BD :{BLACK}{STRING}
|
||||
STR_02BF_CUSTOM :Breytt
|
||||
|
||||
STR_CHECKMARK :{CHECKMARK}
|
||||
############ range for menu starts
|
||||
@@ -676,7 +676,7 @@ STR_02C6_DIFFICULTY_SETTINGS :Erfiðleikastig
|
||||
STR_MENU_CONFIG_SETTINGS :Þróaðri stillingar
|
||||
STR_NEWGRF_SETTINGS :NewGRF stillingar
|
||||
STR_TRANSPARENCY_OPTIONS :Gegnsæisstillingar
|
||||
STR_02CA_TOWN_NAMES_DISPLAYED :{SETX 12}Bæjarnöfn sýnd
|
||||
STR_02CA_TOWN_NAMES_DISPLAYED :{SETX 12}Bæjanöfn sýnd
|
||||
STR_02CC_STATION_NAMES_DISPLAYED :{SETX 12}Stöðvarnöfn sýnd
|
||||
STR_02CE_SIGNS_DISPLAYED :{SETX 12}Skilti sýnd
|
||||
STR_WAYPOINTS_DISPLAYED2 :{SETX 12}Millistöðvar sýndar
|
||||
@@ -703,7 +703,7 @@ STR_02DD_SUBSIDIES :Samstarfssamnin
|
||||
STR_02DE_MAP_OF_WORLD :Heimskort
|
||||
STR_EXTRA_VIEW_PORT :Auka sjónarhorn
|
||||
STR_SIGN_LIST :Skiltalisti
|
||||
STR_02DF_TOWN_DIRECTORY :Bæjarmappa
|
||||
STR_02DF_TOWN_DIRECTORY :Listi yfir bæi
|
||||
STR_TOWN_POPULATION :{BLACK}Heildaríbúafjöldi: {COMMA}
|
||||
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Sjónarhorn {COMMA}
|
||||
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Afrita í sjónarhorn
|
||||
@@ -722,7 +722,7 @@ STR_02E7 :{BLACK}{SKIP}{S
|
||||
STR_02E8_SELECT_SIDE_OF_ROAD_FOR :{BLACK}Aksturstefna bifreiða
|
||||
STR_02E9_DRIVE_ON_LEFT :Vinstristefna
|
||||
STR_02EA_DRIVE_ON_RIGHT :Hægristefna
|
||||
STR_02EB_TOWN_NAMES :{BLACK}Bæjarnöfn
|
||||
STR_02EB_TOWN_NAMES :{BLACK}Bæjanöfn
|
||||
STR_02EC :{BLACK}{SKIP}{SKIP}{SKIP}{SKIP}{STRING}
|
||||
STR_02ED_SELECT_STYLE_OF_TOWN_NAMES :{BLACK}Tungumál bæjarnafna
|
||||
|
||||
@@ -786,7 +786,7 @@ STR_TOWNNAME_SWEDISH :Sænsk
|
||||
STR_TOWNNAME_DUTCH :Hollensk
|
||||
STR_TOWNNAME_FINNISH :Finnsk
|
||||
STR_TOWNNAME_POLISH :Pólsk
|
||||
STR_TOWNNAME_SLOVAKISH :Slóvakísk
|
||||
STR_TOWNNAME_SLOVAK :Slóvakísk
|
||||
STR_TOWNNAME_NORWEGIAN :Norsk
|
||||
STR_TOWNNAME_HUNGARIAN :Ungversk
|
||||
STR_TOWNNAME_AUSTRIAN :Austurrísk
|
||||
@@ -819,7 +819,7 @@ STR_CURR_ITL :Ítölsk líra
|
||||
STR_CURR_NLG :Hollensk gyllini (NLG)
|
||||
STR_CURR_NOK :Norsk króna (NOK)
|
||||
STR_CURR_PLN :Pólsk zloty (PLN)
|
||||
STR_CURR_ROL :Rúmensk leu (ROL)
|
||||
STR_CURR_RON :Rúmensk leu (RON)
|
||||
STR_CURR_RUR :Rússnesk rúbla (RUR)
|
||||
STR_CURR_SIT :Slóvensk tolar (SIT)
|
||||
STR_CURR_SEK :Sænsk króna (SEK)
|
||||
@@ -947,6 +947,7 @@ STR_CONFIG_SETTING_NONUNIFORM_STATIONS :{LTBLUE}Órétt
|
||||
STR_CONFIG_SETTING_FREIGHT_TRAINS :{LTBLUE}Margfalda þyngd farms til að líkja eftir þyngri lestum: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_PLANE_SPEED :{LTBLUE}Hraðastuðull flugvéla: {ORANGE}1 / {STRING}
|
||||
STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :{LTBLUE}Leyfa strætóstöðvar á gangstéttum bæja: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :{LTBLUE}Leyfa stöðvar á gangstéttum vega í eigu keppinauta: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_ADJACENT_STATIONS :{LTBLUE}Heimila sambyggingu stöðva: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_DYNAMIC_ENGINES :{LTBLUE}Virkja mörg NewGRF vélasöfn: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Ekki er hægt að breyta þessari stillingu þegar til eru farartæki.
|
||||
@@ -988,7 +989,7 @@ STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :{LTBLUE}Leyfa l
|
||||
STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Einn eða fleiri reitir við norðurjaðarinn eru ekki tómir
|
||||
STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Einn eða fleiri reitir við eina hlið kortsins hafa ekki vatn
|
||||
|
||||
STR_CONFIG_SETTING_STATION_SPREAD :{LTBLUE}Dreyfing stöðva mest: {ORANGE}{STRING} {RED}Ath.: Há stilling hægir á leiknum
|
||||
STR_CONFIG_SETTING_STATION_SPREAD :{LTBLUE}Hámarksdreifing stöðva: {ORANGE}{STRING} {RED}Ath.: Há stilling hægir á leiknum
|
||||
STR_CONFIG_SETTING_SERVICEATHELIPAD :{LTBLUE}Skoða þyrlur sjálfvirkt á þyrlupalli: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR :{LTBLUE}Opna landmótunarglugga samhliða öðrum framkvæmdum: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_REVERSE_SCROLLING :{LTBLUE}Færa sjónarhorn í öfuga átt miðað við mús: {ORANGE}{STRING}
|
||||
@@ -1047,10 +1048,10 @@ STR_CONFIG_SETTING_MAX_ROADVEH :{LTBLUE}Bifrei
|
||||
STR_CONFIG_SETTING_MAX_AIRCRAFT :{LTBLUE}Flugvélar á leikmann mest: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_MAX_SHIPS :{LTBLUE}Skip á leikmann mest: {ORANGE}{STRING}
|
||||
|
||||
STR_CONFIG_SETTING_AI_BUILDS_TRAINS :{LTBLUE}Útiloka lestir fyrir tölvu: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_AI_BUILDS_ROADVEH :{LTBLUE}Útiloka bifreiðir fyrir tölvu: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT :{LTBLUE}Útiloka flugvélar fyrir tölvu: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_AI_BUILDS_SHIPS :{LTBLUE}Útiloka skip fyrir tölvu: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_AI_BUILDS_TRAINS :{LTBLUE}Útiloka lestir frá tölvu: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_AI_BUILDS_ROADVEH :{LTBLUE}Útiloka bifreiðir frá tölvu: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT :{LTBLUE}Útiloka flugvélar frá tölvu: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_AI_BUILDS_SHIPS :{LTBLUE}Útiloka skip frá tölvu: {ORANGE}{STRING}
|
||||
|
||||
STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :{LTBLUE}Leyfa gervigreind í fjölspilun: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_AI_MAX_OPCODES :{LTBLUE}Fjöldi aðgerðanúmera áður en slökkt er á gervigreind: {ORANGE}{STRING}
|
||||
@@ -1099,6 +1100,8 @@ STR_CONFIG_SETTING_TOOLBAR_POS_CENTER :Miðja
|
||||
STR_CONFIG_SETTING_TOOLBAR_POS_RIGHT :Hægri
|
||||
STR_CONFIG_SETTING_SNAP_RADIUS :{LTBLUE}Gluggar smella saman við: {ORANGE}{STRING} punkta radíus
|
||||
STR_CONFIG_SETTING_SNAP_RADIUS_DISABLED :{LTBLUE}Gluggar smella: {ORANGE}ekki saman
|
||||
STR_CONFIG_SETTING_SOFT_LIMIT :{LTBLUE}Hámarksfjöldi glugga (ófestra): {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_SOFT_LIMIT_DISABLED :{LTBLUE}Hámarksfjöldi glugga (ófestra): {ORANGE}ótakmarkaður
|
||||
STR_CONFIG_SETTING_TOWN_GROWTH :{LTBLUE}Vaxtarhraði bæja: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_TOWN_GROWTH_NONE :Enginn
|
||||
STR_CONFIG_SETTING_TOWN_GROWTH_SLOW :Hægur
|
||||
@@ -1195,6 +1198,7 @@ STR_CANT_REMOVE_TRAIN_WAYPOINT :{WHITE}Get ekki
|
||||
STR_BUILD_AUTORAIL_TIP :{BLACK}Byggja lestartein í Sjálfvirkum ham
|
||||
|
||||
STR_NO_TOWN_IN_SCENARIO :{WHITE}...það er enginn bær í þessu landi
|
||||
STR_COULD_NOT_CREATE_TOWN :{WHITE}Sköpun korts hætt...{}...ekkert hentugt bæjarstæði
|
||||
|
||||
STR_MANY_RANDOM_TOWNS :{BLACK}Búa til marga bæi
|
||||
STR_RANDOM_TOWNS_TIP :{BLACK}Þekja landið með bæjum
|
||||
@@ -1604,6 +1608,8 @@ STR_RAILROAD_TRACK_WITH_EXIT_COMBOSIGNALS :Járnbrautarspo
|
||||
STR_RAILROAD_TRACK_WITH_EXIT_PBSSIGNALS :Járnbrautarteinar með útgöngu- og háþróuðum skiltum
|
||||
STR_RAILROAD_TRACK_WITH_EXIT_NOENTRYSIGNALS :Járnbrautarteinar með útgönguskiltum og háþróuðum einstefnuskiltum
|
||||
STR_RAILROAD_TRACK_WITH_COMBO_PBSSIGNALS :Lestarteinar með samskeyta- og leiðar-merkjum
|
||||
STR_RAILROAD_TRACK_WITH_COMBO_NOENTRYSIGNALS :Járnbrautarspor með fjöl- og einstefnuskiltum
|
||||
STR_RAILROAD_TRACK_WITH_PBS_NOENTRYSIGNALS :Járnbrautarspor með háþróuðum og einstefnuskiltum
|
||||
STR_MUST_REMOVE_RAILWAY_STATION_FIRST :{WHITE}Verður að fjarlægja járnbrautarstöð fyrst
|
||||
STR_CREATE_SPLITTED_STATION :{YELLOW}Reisa aðra stöð
|
||||
STR_SELECT_STATION_TO_JOIN :{BLACK}Tengja stöðvar
|
||||
@@ -1676,7 +1682,7 @@ STR_2006_POPULATION :{BLACK}Íbúafj
|
||||
STR_2007_RENAME_TOWN :Endurskíra bæ
|
||||
STR_2008_CAN_T_RENAME_TOWN :{WHITE}Get ekki endurskírt bæ...
|
||||
STR_2009_LOCAL_AUTHORITY_REFUSES :{WHITE}{TOWN} bæjaryfirvöld leyfa þetta ekki
|
||||
STR_200A_TOWN_NAMES_CLICK_ON_NAME :{BLACK}Bæjarnöfn - ýttu á nafn til að færa sjónarhorn að viðkomandi bæ
|
||||
STR_200A_TOWN_NAMES_CLICK_ON_NAME :{BLACK}Bæjanöfn - smelltu á nafn til að færa sjónarhorn að viðkomandi bæ
|
||||
STR_200B_CENTER_THE_MAIN_VIEW_ON :{BLACK}Færa sjónarhorn á staðsetningu bæjar
|
||||
STR_200C_CHANGE_TOWN_NAME :{BLACK}Breyta nafni bæjar
|
||||
STR_200D_PASSENGERS_LAST_MONTH_MAX :{BLACK}Farþegar síðasta mánaðar: {ORANGE}{COMMA}{BLACK} max: {ORANGE}{COMMA}
|
||||
@@ -1908,6 +1914,7 @@ STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Bilun í vistu
|
||||
STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Leikur er vistaður í nýrri útgáfu
|
||||
STR_GAME_SAVELOAD_ERROR_FILE_NOT_READABLE :Skrá er ekki lesanleg
|
||||
STR_GAME_SAVELOAD_ERROR_FILE_NOT_WRITEABLE :Skrá er ekki skrifanleg
|
||||
STR_GAME_SAVELOAD_ERROR_DATA_INTEGRITY_CHECK_FAILED :Könnun gagnaheilinda mistókst
|
||||
STR_400A_LIST_OF_DRIVES_DIRECTORIES :{BLACK}Listi yfir drif, möppur og vistaða leiki
|
||||
STR_400B_CURRENTLY_SELECTED_NAME :{BLACK}Nafn fyrir vistun leiks
|
||||
STR_400C_DELETE_THE_CURRENTLY_SELECTED :{BLACK}Eyða nafninu
|
||||
@@ -2123,6 +2130,7 @@ STR_NUM_VERY_LOW :Mjög lág
|
||||
STR_6816_LOW :Fáir
|
||||
STR_6817_NORMAL :Miðlungs
|
||||
STR_6818_HIGH :Margir
|
||||
STR_02BF_CUSTOM :Breytt
|
||||
STR_6819 :{BLACK}{SMALLLEFTARROW}
|
||||
STR_681A :{BLACK}{SMALLRIGHTARROW}
|
||||
STR_681B_VERY_SLOW :Mjög hægt
|
||||
@@ -2725,6 +2733,7 @@ STR_8826_GO_TO :{BLACK}Fara að
|
||||
STR_REFIT :{BLACK}Breyta
|
||||
STR_REFIT_TIP :{BLACK}Veldu farm til að breyta í. CTRL smelltu til að fjarlægja breytiskipun
|
||||
STR_REFIT_ORDER :(Breyta í {STRING})
|
||||
STR_REFIT_STOP_ORDER :(Breyta í {STRING} og stöðva)
|
||||
STR_STOP_ORDER :(Stopp)
|
||||
STR_TIMETABLE_VIEW :{BLACK}Áætlun
|
||||
STR_TIMETABLE_VIEW_TOOLTIP :{BLACK}Skipta yfir í áætlanasýn
|
||||
@@ -2836,6 +2845,7 @@ STR_TIMETABLE_STATUS_EARLY :Þetta farartæ
|
||||
STR_TIMETABLE_TOTAL_TIME :Það mun taka {STRING} að ljúka við þessa áætlun
|
||||
STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :Það mun að minnsta kosti taka {STRING} að ljúka við þessa áætlun (ekki allar skipanir á áætlun)
|
||||
STR_TIMETABLE_AUTOFILL :{BLACK}Skrifa sjálfvirkt
|
||||
STR_TIMETABLE_AUTOFILL_TOOLTIP :{BLACK}Bæta áfangastöðum næstu ferðar sjálfvirkt við áætlunina (Ctrl+smelltu til að reyna að halda biðtímum)
|
||||
|
||||
##id 0x9000
|
||||
STR_9000_ROAD_VEHICLE_IN_THE_WAY :{WHITE}Bíll fyrir
|
||||
@@ -3056,6 +3066,7 @@ STR_BRIBE_FAILED :{WHITE}Tilraun
|
||||
STR_BRIBE_FAILED_2 :{WHITE}uppgvötuð af héraðsrannsóknarmanni
|
||||
STR_BUILD_DATE :{BLACK}Byggt: {LTBLUE}{DATE_LONG}
|
||||
|
||||
STR_TILEDESC_STATION_CLASS :{BLACK}Tegund stöðvar: {LTBLUE}{STRING}
|
||||
STR_TILEDESC_STATION_TYPE :{BLACK}Tegund stöðvar: {LTBLUE}{STRING}
|
||||
STR_TILEDESC_NEWGRF_NAME :{BLACK}NewGRF: {LTBLUE}{STRING}
|
||||
|
||||
@@ -3089,10 +3100,14 @@ STR_PERFORMANCE_DETAIL_LOAN_TIP :{BLACK}Peningar
|
||||
STR_PERFORMANCE_DETAIL_TOTAL_TIP :{BLACK}Heildarpunktar af mögulegum punktum
|
||||
|
||||
STR_NEWGRF_SETTINGS_BUTTON :{BLACK}NewGRF Stillingar
|
||||
STR_NEWGRF_SETTINGS_BUTTON_TIP :{BLACK}Sýna NewGRF stillingar
|
||||
STR_NEWGRF_SETTINGS_CAPTION :{WHITE}NewGRF stillingar
|
||||
STR_NEWGRF_APPLY_CHANGES :{BLACK}Virkja breytingar
|
||||
STR_NEWGRF_TOGGLE_PALETTE :{BLACK}Skipta milli litaskema
|
||||
STR_NEWGRF_TOGGLE_PALETTE_TIP :{BLACK}Skipta um litaskema fyrir valin sett.{}Ef mikið af bleikum lit birtist á röngum stöðum mun þetta laga vandann.
|
||||
STR_NEWGRF_SET_PARAMETERS :{BLACK}Stilla breytur
|
||||
STR_NEWGRF_FILENAME :{BLACK}Skráarnafn: {SILVER}{STRING}
|
||||
STR_NEWGRF_PALETTE :{BLACK}Litaskema: {SILVER}{STRING}
|
||||
STR_NEWGRF_GRF_ID :{BLACK}GRF einkenni: {SILVER}{STRING}
|
||||
STR_NEWGRF_MD5SUM :{BLACK}MD5 summa: {SILVER}{STRING}
|
||||
STR_NEWGRF_CONFIRMATION_TEXT :{YELLOW}Þú ert í þann mund að eiga við leik í gangi, við það gæti OpenTTD hrunið.{}Ertu viss um að þú viljir halda áfram?
|
||||
@@ -3110,8 +3125,12 @@ STR_NEWGRF_ERROR_LOAD_AFTER :{SKIP}{STRING}
|
||||
STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{SKIP}{STRING} þarf OpenTTD útgáfu {STRING} eða nýrri.
|
||||
STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :GRF skránni sem það var hannað til að þýða
|
||||
STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :Of mörg NewGRF eru hlaðin.
|
||||
STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Ef {STRING} er hlaðið sem kyrrstæðu NewGRF ásamt {STRING} gætu orðið hnökrar á keyrslu leiksins.
|
||||
STR_NEWGRF_ERROR_UNEXPECTED_SPRITE :Óviðbúin hreyfimynd.
|
||||
STR_NEWGRF_ERROR_UNKNOWN_PROPERTY :Óþekktur „Action 0“ eiginleiki
|
||||
STR_NEWGRF_ERROR_INVALID_ID :Reyndi að notast við rangt ID
|
||||
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} inniheldur gallaða mynd. Allar gallaðar myndir munu birtast sem rauð spurningamerki (?).
|
||||
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Inniheldur margar „Action 8“ færslur
|
||||
|
||||
STR_NEWGRF_PRESET_LIST_TIP :{BLACK}Hlaða valdar stillingu
|
||||
STR_NEWGRF_PRESET_SAVE :{BLACK}Vista stillingu
|
||||
@@ -3148,7 +3167,12 @@ STR_NEWGRF_DISABLED_WARNING :{WHITE}Týndar
|
||||
STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}Vantar GRF skrá(r)
|
||||
STR_NEWGRF_UNPAUSE_WARNING :{WHITE}OpenTTD getur hrunið ef leikur er settur af stað. Ekki skrá villufærslur fyrir eftirfarandi hrun.{}Ertu viss um að þú viljir setja leikinn af stað?
|
||||
|
||||
STR_NEWGRF_BROKEN :{WHITE}Hegðun NewGRF '{0:STRING}' er líkleg til að valda hnökrum og/eða hruni á kreyslu leiksins.
|
||||
STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Breytir lengd á farartæki '{1:ENGINE}' þegar það er ekki í skýli.
|
||||
STR_BROKEN_VEHICLE_LENGTH :{WHITE}Lest '{VEHICLE}' sem tilheyrir '{COMPANY}' er ekki af réttri lengd. Þessu valda sennilega NewGRF vandamál. Leikurinn kann að missa samband eða hrynja.
|
||||
|
||||
STR_NEWGRF_BUGGY :{WHITE}Rangar upplýsingar fylgja '{0:STRING}' NewGRF.
|
||||
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Farm/breytingaupplýsingar fyrir '{1:ENGINE}' stangast á við innkaupalista eftir kaup. Þetta kann að valda því að sjálfvirk uppfærsla/útskipting mistakist.
|
||||
STR_LOADGAME_REMOVED_TRAMS :{WHITE}Leikurinn var vistaður í útgáfu án sporvagna. Allir sporvagnar hafa verið fjarlægðir.
|
||||
|
||||
STR_CURRENCY_WINDOW :{WHITE}Sérvalinn gjaldeyrir
|
||||
@@ -3243,6 +3267,7 @@ STR_MASS_START_LIST_TIP :{BLACK}Smelltu
|
||||
STR_SHORT_DATE :{WHITE}{DATE_TINY}
|
||||
STR_SIGN_LIST_CAPTION :{WHITE}Merkjalisti - {COMMA} merki
|
||||
|
||||
STR_ORDER_REFIT_FAILED :{WHITE}{VEHICLE} stöðvaði vegna óframkvæmanlegrar endurnýjunar
|
||||
|
||||
############ Lists rail types
|
||||
|
||||
@@ -3339,7 +3364,11 @@ STR_NORTHWEST :{BLACK}Norðves
|
||||
STR_NORTHEAST :{BLACK}Norðaustur
|
||||
STR_SOUTHEAST :{BLACK}Suðaustur
|
||||
STR_SOUTHWEST :{BLACK}Suðvestur
|
||||
STR_BORDER_FREEFORM :{BLACK}Frjálsar
|
||||
STR_BORDER_WATER :{BLACK}Vatn
|
||||
STR_BORDER_RANDOM :{BLACK}Slembin
|
||||
STR_BORDER_RANDOMIZE :{BLACK}Slembnar
|
||||
STR_BORDER_MANUAL :{BLACK}Forvaldar
|
||||
|
||||
########### String for new airports
|
||||
STR_SMALL_AIRPORT :{BLACK}Lítill flugvöllur
|
||||
@@ -3368,6 +3397,7 @@ STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}Svæði:
|
||||
STR_DATE_TINY :{STRING}-{STRING}-{NUM}
|
||||
STR_DATE_SHORT :{STRING} {NUM}
|
||||
STR_DATE_LONG :{STRING} {STRING} {NUM}
|
||||
STR_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING}
|
||||
|
||||
STR_JUST_DATE_TINY :{DATE_TINY}
|
||||
STR_JUST_DATE_LONG :{DATE_LONG}
|
||||
@@ -3507,10 +3537,14 @@ STR_BUILD_SIGNAL_SEMAPHORE_NORM_TIP :{BLACK}Hefðbun
|
||||
STR_BUILD_SIGNAL_SEMAPHORE_ENTRY_TIP :{BLACK}Komumerki{}Hleypir í gegn uns ekkert frámerki er eftir opið.
|
||||
STR_BUILD_SIGNAL_SEMAPHORE_EXIT_TIP :{BLACK}Frámerki{}Virkar eins og hefðbundið merki en er nauðsynlegt til að fá rétta virkni fyrir komu- og fjölmerki.
|
||||
STR_BUILD_SIGNAL_SEMAPHORE_COMBO_TIP :{BLACK}Fjölmerki{}Fjölmerkin virka bæði sem komu- og frámerki sem gerir þér kleyft að hanna stór "tré" af formerkjum.
|
||||
STR_BUILD_SIGNAL_SEMAPHORE_PBS_TIP :{BLACK}Leiðarmerki (skilti){}Leiðarmerki gera fleiri en einni lest í einu kleift að keyra inn á svæði án umferðarmerkja ef þær finna örugga leið út af því aftur. Lestir geta farið framhjá venjulegum skiltum aftanfrá.
|
||||
STR_BUILD_SIGNAL_SEMAPHORE_PBS_OWAY_TIP :{BLACK}Einstefnuleiðarmerki (skilti){}Leiðarmerki gera fleiri en einni lest í einu kleift að keyra inn á svæði án umferðarmerkja ef þær finna örugga leið út af því aftur. Lestir geta ekki farið framhjá einstefnuskiltum aftanfrá.
|
||||
STR_BUILD_SIGNAL_ELECTRIC_NORM_TIP :{BLACK}Hefðbundin ljós{}Ljós eru nauðsynleg til að koma í veg fyrir að lestir lendi í árekstri.
|
||||
STR_BUILD_SIGNAL_ELECTRIC_ENTRY_TIP :{BLACK}Komuljós{}Hleypir í gegn uns ekkert fráljós er lengur grænt.
|
||||
STR_BUILD_SIGNAL_ELECTRIC_EXIT_TIP :{BLACK}Fráljós{}Virkar eins og hefðbundið ljós en er naðusynlegt til að fá rétta virkni fyrir komu- og fjölljós.
|
||||
STR_BUILD_SIGNAL_ELECTRIC_COMBO_TIP :{BLACK}Fjölljós{}Fjölljósið virkar bæði sem komu- og fráljós sem gerir þér kleyft að hanna stór "tré" af forljósum.
|
||||
STR_BUILD_SIGNAL_ELECTRIC_PBS_TIP :{BLACK}Leiðarmerki (ljós){}Leiðarmerki gera fleiri en einni lest í einu kleift að keyra inn á svæði án umferðarmerkja ef þær finna örugga leið út af því aftur. Lestir geta farið framhjá venjulegum skiltum aftanfrá.
|
||||
STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TIP :{BLACK}Einstefnuleiðarmerki (ljós){}Leiðarmerki gera fleiri en einni lest í einu kleift að keyra inn á svæði án umferðarmerkja ef þær finna örugga leið út af því aftur. Lestir geta ekki farið framhjá einstefnuskiltum aftanfrá.
|
||||
STR_SIGNAL_CONVERT_TIP :{BLACK}Breyting ljósa{}Þegar valið þá breytist merki sem til er fyrir í valda gerð og tegund. CTRL-smellur mun rúlla í gegnum núverandi tegund.
|
||||
STR_DRAG_SIGNALS_DENSITY_TIP :{BLACK}Þéttleiki dreginna ljósa
|
||||
STR_DRAG_SIGNALS_DENSITY_DECREASE_TIP :{BLACK}Minnka þéttleika dreginna ljósa
|
||||
@@ -3523,20 +3557,33 @@ STR_OSK_KEYBOARD_LAYOUT_CAPS :~!@#$%^&*()_+|Q
|
||||
########
|
||||
|
||||
############ AI GUI
|
||||
STR_AI_SETTINGS_BUTTON :{BLACK}AI Stillingar
|
||||
STR_AI_SETTINGS_BUTTON_TIP :{BLACK}Sýna AI stillingar
|
||||
STR_AI_DEBUG :{WHITE}AI Villuprófun
|
||||
STR_AI_DEBUG_NAME_TIP :{BLACK}AI heiti
|
||||
STR_AI_DEBUG_RELOAD :{BLACK}Endurhlaða AI
|
||||
STR_AI_CHANGE :{BLACK}Velja AI
|
||||
STR_AI_SETTINGS_BUTTON :{BLACK}Stillingar gervigreindar
|
||||
STR_AI_SETTINGS_BUTTON_TIP :{BLACK}Sýna stillingar gervigreindar
|
||||
STR_AI_DEBUG :{WHITE}Aflúsun gervigreindar
|
||||
STR_AI_DEBUG_NAME_TIP :{BLACK}Nafn gervigreindar
|
||||
STR_AI_DEBUG_RELOAD :{BLACK}Endurhlaða gervigreind
|
||||
STR_AI_DEBUG_RELOAD_TIP :{BLACK}Stöðva gervigreindina, endurhlaða skriftunni og ræsa gervigreindina á ný
|
||||
STR_AI_DEBUG_SERVER_ONLY :{YELLOW}Aflúsunargluggi gervigreindar er aðeins aðgengilegur á þjóni
|
||||
STR_AI_CONFIG_CAPTION :{WHITE}Stilling gervigreindar
|
||||
STR_AI_CHANGE :{BLACK}Velja gervigreind
|
||||
STR_AI_CONFIGURE :{BLACK}Stilla
|
||||
STR_AI_CHANGE_TIP :{BLACK}Hlaða aðra AI
|
||||
STR_AI_CHANGE_TIP :{BLACK}Velja aðra gervigreind
|
||||
STR_AI_CONFIGURE_TIP :{BLACK}Stilltu eiginleika gervigreindarinnar
|
||||
STR_AI_LIST_TIP :{BLACK}Gervigreindir sem notaðar verða í næsta leik
|
||||
STR_AI_LIST_CAPTION :{WHITE}Tiltækar gervigreindir
|
||||
STR_AI_AILIST_TIP :{BLACK}Smelltu til að merkja gervigreind
|
||||
STR_AI_ACCEPT :{BLACK}Í lagi
|
||||
STR_AI_ACCEPT_TIP :{BLACK}Velja merkta gervigreind
|
||||
STR_AI_CANCEL :{BLACK}Hætta við
|
||||
STR_AI_CANCEL_TIP :{BLACK}Hætta við breytingar
|
||||
STR_AI_CLOSE :{BLACK}Loka
|
||||
STR_AI_HUMAN_PLAYER :Menskur spilari
|
||||
STR_AI_RESET :{BLACK}Frumstilla
|
||||
STR_AI_HUMAN_PLAYER :Mennskur leikmaður
|
||||
STR_AI_RANDOM_AI :Gervigreind af handahófi
|
||||
STR_AI_SETTINGS_CAPTION :{WHITE}Stillingar gervigreindar
|
||||
STR_AI_AUTHOR :Höfundur:
|
||||
STR_AI_VERSION :Útgáfa:
|
||||
STR_AI_PLEASE_REPORT_CRASH :{WHITE}Ein af gervigreindunum hrundi. Vinsamlega gerðu höfundi gervigreindarinnar viðvart og sendu inn mynd af aflúsunarglugga gervigreindarinnar.
|
||||
########
|
||||
|
||||
############ town controlled noise level
|
||||
@@ -3545,31 +3592,63 @@ STR_STATION_NOISE :{BLACK}Hávaði
|
||||
########
|
||||
|
||||
############ Downloading of content from the central server
|
||||
STR_CONTENT_NO_ZLIB :{WHITE}OpenTTD er smíðað án „zlib“ stuðnings...
|
||||
STR_CONTENT_NO_ZLIB_SUB :{WHITE}... ekki hægt að hlaða niður efni!
|
||||
STR_CONTENT_TYPE_BASE_GRAPHICS :Venjuleg grafík
|
||||
STR_CONTENT_TYPE_NEWGRF :NewGRF
|
||||
STR_CONTENT_TYPE_AI :AI
|
||||
STR_CONTENT_TYPE_AI_LIBRARY :AI safn
|
||||
STR_CONTENT_TYPE_HEIGHTMAP :Hæðar-kort
|
||||
STR_CONTENT_TYPE_AI :Gervigreind
|
||||
STR_CONTENT_TYPE_AI_LIBRARY :Safn gervigreinda
|
||||
STR_CONTENT_TYPE_SCENARIO :Kort
|
||||
STR_CONTENT_TYPE_HEIGHTMAP :Hæðakort
|
||||
STR_CONTENT_TITLE :{WHITE}Niðurhel efni
|
||||
STR_CONTENT_TYPE_CAPTION :{BLACK}Týpa
|
||||
STR_CONTENT_TYPE_CAPTION_TIP :{BLACK}Tegund pakka
|
||||
STR_CONTENT_NAME_CAPTION :{BLACK}Heiti
|
||||
STR_CONTENT_NAME_CAPTION_TIP :{BLACK}Heiti efnis
|
||||
STR_CONTENT_MATRIX_TIP :{BLACK}Smelltu á pakka fyrir frekari upplýsingar{}Smelltu í reitinn til að velja pakka til niðurhals
|
||||
STR_CONTENT_SELECT_ALL_CAPTION :{BLACK}Velja allt
|
||||
STR_CONTENT_SELECT_ALL_CAPTION_TIP :{BLACK}Velja allt til niðurhals
|
||||
STR_CONTENT_SELECT_UPDATES_CAPTION :{BLACK}Velja uppfærslur
|
||||
STR_CONTENT_SELECT_UPDATES_CAPTION_TIP :{BLACK}Velja til niðurhals allar uppfærslur fyrir pakka sem nú þegar hefur verið náð í
|
||||
STR_CONTENT_UNSELECT_ALL_CAPTION :{BLACK}Af-velja allt
|
||||
STR_CONTENT_UNSELECT_ALL_CAPTION_TIP :{BLACK}Afvelja allt frá niðurhali
|
||||
STR_CONTENT_FILTER_OSKTITLE :{BLACK}Sláðu inn leitarstreng
|
||||
STR_CONTENT_FILTER_TIP :{BLACK}Sláðu inn leitarstreng til að sía listann
|
||||
STR_CONTENT_FILTER_TITLE :{BLACK}Leitarstrengur:
|
||||
STR_CONTENT_DOWNLOAD_CAPTION :{BLACK}Niðurhala
|
||||
STR_CONTENT_DOWNLOAD_CAPTION_TIP :{BLACK}Hefja niðurhal á völdum pökkum
|
||||
STR_CONTENT_TOTAL_DOWNLOAD_SIZE :{SILVER}Stærð niðurhals: {WHITE}{BYTES}
|
||||
STR_CONTENT_DETAIL_TITLE :{SILVER}UPPLÝSINGAR
|
||||
STR_CONTENT_DETAIL_SUBTITLE_UNSELECTED :{SILVER}Pakkinn er ekki valinn til niðurhals
|
||||
STR_CONTENT_DETAIL_SUBTITLE_SELECTED :{SILVER}Pakkinn er valinn til niðurhals
|
||||
STR_CONTENT_DETAIL_SUBTITLE_AUTOSELECTED :{SILVER}Þessi pakki er nauðsynlegur undirstaða fyrir annan pakka sem er valinn til niðurhals
|
||||
STR_CONTENT_DETAIL_SUBTITLE_ALREADY_HERE :{SILVER}Þú hefur þetta nú þegar
|
||||
STR_CONTENT_DETAIL_SUBTITLE_DOES_NOT_EXIST :{SILVER}Þessi pakki er óþekktur og ekki er hægt að ná í hann gegnum OpenTTD
|
||||
STR_CONTENT_DETAIL_UPDATE :{SILVER}Þetta er uppfærsla fyrir {STRING}
|
||||
STR_CONTENT_DETAIL_NAME :{SILVER}Heiti: {WHITE}{STRING}
|
||||
STR_CONTENT_DETAIL_VERSION :{SILVER}Útgáfa: {WHITE}{STRING}
|
||||
STR_CONTENT_DETAIL_DESCRIPTION :{SILVER}Lýsing: {WHITE}{STRING}
|
||||
STR_CONTENT_DETAIL_URL :{SILVER}URL: {WHITE}{STRING}
|
||||
STR_CONTENT_DETAIL_TYPE :{SILVER}Týpa: {WHITE}{STRING}
|
||||
STR_CONTENT_DETAIL_FILESIZE :{SILVER}Stærð niðurhals: {WHITE}{BYTES}
|
||||
STR_CONTENT_DETAIL_SELECTED_BECAUSE_OF :{SILVER}Valinn vegna: {WHITE}{STRING}
|
||||
STR_CONTENT_DETAIL_DEPENDENCIES :{SILVER}Byggir á: {WHITE}{STRING}
|
||||
STR_CONTENT_DETAIL_TAGS :{SILVER}Stikkorð: {WHITE}{STRING}
|
||||
|
||||
STR_CONTENT_DOWNLOAD_TITLE :{WHITE}Hel niður efni...
|
||||
STR_CONTENT_DOWNLOAD_INITIALISE :{WHITE}Bið um skrár...
|
||||
STR_CONTENT_DOWNLOAD_FILE :{WHITE}Næ í {STRING} ({NUM} af {NUM})
|
||||
STR_CONTENT_DOWNLOAD_COMPLETE :{WHITE}Niðurhali lokið
|
||||
STR_CONTENT_DOWNLOAD_PROGRESS_SIZE :{WHITE}{BYTES} af {BYTES} niðurhalað ({NUM} %)
|
||||
|
||||
STR_CONTENT_ERROR_COULD_NOT_CONNECT :{WHITE}Gat ekki tengst í efnisveitu...
|
||||
STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD :{WHITE}Niðurhal mistókst...
|
||||
STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD_CONNECTION_LOST :{WHITE}... tenging slitnaði
|
||||
STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD_FILE_NOT_WRITABLE :{WHITE}... skráin er ekki skrifanleg
|
||||
STR_CONTENT_ERROR_COULD_NOT_EXTRACT :{WHITE}Gat ekki afþjappað niðurhöluðu skránni
|
||||
|
||||
STR_CONTENT_INTRO_BUTTON :{BLACK}Ná í viðbætur af netinu
|
||||
STR_CONTENT_INTRO_BUTTON_TIP :{BLACK}Skoða viðbætur sem hægt er að ná í af netinu
|
||||
STR_CONTENT_INTRO_MISSING_BUTTON :{BLACK}Leita á netinu að efni sem vantar
|
||||
STR_CONTENT_INTRO_MISSING_BUTTON_TIP :{BLACK}Skoða hvort hægt sé að ná í það sem vantar af netinu
|
||||
########
|
||||
|
@@ -30,10 +30,10 @@ STR_0013_LIVESTOCK :Ternak
|
||||
STR_0014_GOODS :Barang jadi
|
||||
STR_0015_GRAIN :Gandum
|
||||
STR_0016_WOOD :Kayu
|
||||
STR_0017_IRON_ORE :Bijih besi
|
||||
STR_0017_IRON_ORE :Biji besi
|
||||
STR_0018_STEEL :Baja
|
||||
STR_0019_VALUABLES :Barang berharga
|
||||
STR_001A_COPPER_ORE :Bijih Tembaga
|
||||
STR_001A_COPPER_ORE :Biji Tembaga
|
||||
STR_001B_MAIZE :Jagung
|
||||
STR_001C_FRUIT :Buah
|
||||
STR_001D_DIAMONDS :Intan
|
||||
@@ -49,7 +49,7 @@ STR_0026_CANDY :Manisan
|
||||
STR_0027_COLA :Cola
|
||||
STR_0028_COTTON_CANDY :Harum manis
|
||||
STR_0029_BUBBLES :Gelembung
|
||||
STR_002A_TOFFEE :Kopi Toffee
|
||||
STR_002A_TOFFEE :Gula-gula
|
||||
STR_002B_BATTERIES :Baterai
|
||||
STR_002C_PLASTIC :Plastik
|
||||
STR_002D_FIZZY_DRINKS :Minuman berdesis
|
||||
@@ -62,10 +62,10 @@ STR_0033_LIVESTOCK :Ternak
|
||||
STR_0034_GOODS :Barang jadi
|
||||
STR_0035_GRAIN :Gandum
|
||||
STR_0036_WOOD :Kayu
|
||||
STR_0037_IRON_ORE :Bijih besi
|
||||
STR_0037_IRON_ORE :Biji besi
|
||||
STR_0038_STEEL :Baja
|
||||
STR_0039_VALUABLES :Barang berharga
|
||||
STR_003A_COPPER_ORE :Bijih Tembaga
|
||||
STR_003A_COPPER_ORE :Biji Tembaga
|
||||
STR_003B_MAIZE :Jagung
|
||||
STR_003C_FRUIT :Buah
|
||||
STR_003D_DIAMOND :Intan
|
||||
@@ -81,7 +81,7 @@ STR_0046_CANDY :Manisan
|
||||
STR_0047_COLA :Cola
|
||||
STR_0048_COTTON_CANDY :Harum manis
|
||||
STR_0049_BUBBLE :Gelembung
|
||||
STR_004A_TOFFEE :Kopi Toffee
|
||||
STR_004A_TOFFEE :Gula-gula
|
||||
STR_004B_BATTERY :Baterai
|
||||
STR_004C_PLASTIC :Plastik
|
||||
STR_004D_FIZZY_DRINK :Minuman berdesis
|
||||
@@ -785,7 +785,7 @@ STR_TOWNNAME_SWEDISH :Swedia
|
||||
STR_TOWNNAME_DUTCH :Belanda
|
||||
STR_TOWNNAME_FINNISH :Finlandia
|
||||
STR_TOWNNAME_POLISH :Polandia
|
||||
STR_TOWNNAME_SLOVAKISH :Slovakia
|
||||
STR_TOWNNAME_SLOVAK :Slovakia
|
||||
STR_TOWNNAME_NORWEGIAN :Norwegia
|
||||
STR_TOWNNAME_HUNGARIAN :Hungaria
|
||||
STR_TOWNNAME_AUSTRIAN :Austria
|
||||
@@ -818,7 +818,7 @@ STR_CURR_ITL :Lira Italian (I
|
||||
STR_CURR_NLG :Dutch Guilder (NLG)
|
||||
STR_CURR_NOK :Krone Norwegia (NOK)
|
||||
STR_CURR_PLN :Zloty Polandia (PLN)
|
||||
STR_CURR_ROL :Leu Romania (ROL)
|
||||
STR_CURR_RON :Leu Romania (RON)
|
||||
STR_CURR_RUR :Rubles Rusia (RUR)
|
||||
STR_CURR_SIT :Tolar Slovenia (SIT)
|
||||
STR_CURR_SEK :Krona Swedia (SEK)
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user