mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-08-14 10:09:11 +00:00
Compare commits
266 Commits
1.0.0-beta
...
1.0.0-RC2
Author | SHA1 | Date | |
---|---|---|---|
|
133be0b744 | ||
|
d0583ff075 | ||
|
aba6a8a229 | ||
|
fa9867879f | ||
|
ccf52c64e9 | ||
|
6a8b04d01e | ||
|
7ed9361ad9 | ||
|
bfa5e7fef5 | ||
|
5b188a4933 | ||
|
eb8263ce50 | ||
|
b87549229b | ||
|
02afc66664 | ||
|
6c86fa768c | ||
|
9a4fd32e87 | ||
|
3626eb340e | ||
|
80225cf246 | ||
|
966f186bf8 | ||
|
c0933e825a | ||
|
6553f49991 | ||
|
bb5261a075 | ||
|
ef59270375 | ||
|
30b215a82b | ||
|
d0122644af | ||
|
33a96b5ef3 | ||
|
ac65c41509 | ||
|
7dcc414000 | ||
|
8641f08df3 | ||
|
e8d40d6a19 | ||
|
151babee57 | ||
|
d757f81646 | ||
|
b0496c339f | ||
|
f36fc2c80d | ||
|
09327c2e69 | ||
|
1737292d07 | ||
|
df920582af | ||
|
e7106d8121 | ||
|
9c02767a92 | ||
|
c1b40ee5e0 | ||
|
ff80df980a | ||
|
077c751201 | ||
|
0c6be84ccf | ||
|
f6dfce6d59 | ||
|
b1cce3f70f | ||
|
66837b1edd | ||
|
171dbb7831 | ||
|
c70c16c64e | ||
|
e412dfedca | ||
|
a1c66a956f | ||
|
ad7a139f49 | ||
|
3108101cb2 | ||
|
7d5cfa5884 | ||
|
dd1c72d39a | ||
|
47295bb8b9 | ||
|
d403d82617 | ||
|
464ad6b951 | ||
|
6c35de1d25 | ||
|
26005c55e5 | ||
|
826e8a92ef | ||
|
1217bb9411 | ||
|
804a6894c5 | ||
|
f709290220 | ||
|
6406b75b8f | ||
|
07409e6741 | ||
|
036d204f4b | ||
|
32cdc157ee | ||
|
7a73a7490d | ||
|
249acc9e4f | ||
|
aab7768a3e | ||
|
0072503496 | ||
|
1aee53ef6c | ||
|
8cd83f87df | ||
|
c5b34444af | ||
|
023fc16894 | ||
|
d8a0278cf2 | ||
|
21bd2722cd | ||
|
78ce2858fc | ||
|
ac6ff0de9b | ||
|
2fcab9d54e | ||
|
91988f2722 | ||
|
2329eacfe8 | ||
|
73ed81b1c7 | ||
|
b91b3ac836 | ||
|
4cd2ad0a5f | ||
|
ab35d95b5a | ||
|
3c9c2f704f | ||
|
29ce905bc2 | ||
|
8f2f4ddeec | ||
|
169020051c | ||
|
fb207873c5 | ||
|
e582d21981 | ||
bf862877a4 | |||
|
52312ea17f | ||
|
3c627747d3 | ||
|
b9f06f3f29 | ||
|
0267acff62 | ||
1bd72e28f0 | |||
|
0bad75d079 | ||
898e879bd9 | |||
|
01474412fc | ||
|
f47f3a4157 | ||
|
fb9b833dc4 | ||
|
76dbdca2f8 | ||
|
3c7dff4270 | ||
|
69184fdc79 | ||
|
0ab6f60c62 | ||
|
ec436a7615 | ||
|
0e97146d4d | ||
|
5cd81526d8 | ||
|
9734124835 | ||
|
78f31c1744 | ||
|
da2722da36 | ||
|
4cf65e6e81 | ||
|
a6e8c747c9 | ||
|
21589daea9 | ||
|
db6e077c8a | ||
|
05388c953a | ||
|
21c3dd11bd | ||
|
3f2c4d744a | ||
|
32db019d9e | ||
|
8ee4a6e7f2 | ||
|
67234a6a6f | ||
|
64ead0b513 | ||
|
a126db6ea4 | ||
|
0c226b44a3 | ||
|
d62d0ac489 | ||
|
a80eb0a1c0 | ||
|
7c1170668a | ||
|
9cf602c7c1 | ||
|
5d78e73445 | ||
|
091d88f514 | ||
|
d858264ca6 | ||
|
34fa63b8f5 | ||
|
9e03eb08a2 | ||
|
afe2fe244d | ||
|
d11bb39f43 | ||
|
cc8fd6e910 | ||
|
fbb9b4760a | ||
|
09730847ec | ||
|
e62b122bb1 | ||
|
36298c1454 | ||
|
228da0ccd3 | ||
|
2b8f7f2078 | ||
|
68b908a27c | ||
|
9f49882de7 | ||
|
3075b3d1ca | ||
|
d818c7c7b1 | ||
|
a61cd5ad85 | ||
|
2db44fc18e | ||
|
c75f19f40b | ||
|
e437362c7b | ||
|
589aee0cee | ||
f1458df1ca | |||
9950fc1ede | |||
|
39c1de23d6 | ||
|
2798fdf082 | ||
|
b02a522038 | ||
|
8d4773be94 | ||
|
8849943da5 | ||
|
615324130b | ||
|
340a93819a | ||
|
78ffa78ee7 | ||
|
06e80d0a1f | ||
|
108b86282f | ||
|
d155794605 | ||
|
68fc39ea1d | ||
|
c23e4e4538 | ||
|
5f4f562d53 | ||
|
cbbe311cea | ||
|
8e6096931a | ||
2b820780a1 | |||
2331ccd589 | |||
990cbe6263 | |||
32ef582c37 | |||
|
84c6616ee0 | ||
|
f9cebfcfc4 | ||
|
88019e64e1 | ||
|
2f6fe85f23 | ||
|
af50e0a4cf | ||
|
272f2cd93e | ||
|
815eede0be | ||
|
cdc6f5ddc1 | ||
|
72f4bd818c | ||
|
9e4a62d1ee | ||
|
5c9cb9648b | ||
|
ab4072ba8d | ||
|
b7fc8b4979 | ||
|
15016e3511 | ||
|
54f958c8e5 | ||
|
4c4d1e1bf6 | ||
|
dc714960e3 | ||
|
b0349704b0 | ||
|
f381b91de0 | ||
|
f8b0ddd3ec | ||
|
ea227aa033 | ||
|
81882039e3 | ||
|
a668e801e4 | ||
|
a43a23b408 | ||
|
fae34ee719 | ||
|
d75b9f1642 | ||
|
fa01b25f74 | ||
|
b689e3d6e4 | ||
|
da3ff51759 | ||
|
d4376779f8 | ||
|
294bc14652 | ||
|
6be4560528 | ||
|
8ee96d4d45 | ||
|
c1c401b51b | ||
|
27491c5586 | ||
08a24fcc31 | |||
07b285c5ca | |||
|
a3168269f9 | ||
|
7b237ee607 | ||
|
ec9ac775bf | ||
|
9a1dddd137 | ||
|
9a4a120b6e | ||
|
68344778e3 | ||
|
ea7c90d471 | ||
|
849e676410 | ||
cd6eac77c3 | |||
|
4df90cddee | ||
|
7f998ce80d | ||
|
0bc1b736d7 | ||
|
918b3aff5e | ||
|
078e1edabc | ||
|
f379b0a1d9 | ||
|
32fa5384d2 | ||
|
57718cc5a7 | ||
|
388c713f08 | ||
|
6ff482f515 | ||
|
de3c92dd06 | ||
|
3a23e38898 | ||
|
3d0b3818dd | ||
|
b2f9b0ac43 | ||
|
d2fc24d61c | ||
c83d57f228 | |||
|
a4f50de959 | ||
|
6ea1eb1463 | ||
|
299d405680 | ||
|
afcce5ed90 | ||
|
37b0a61b42 | ||
|
2b82db72ef | ||
|
4d184e9b16 | ||
|
4034f249db | ||
|
9e106dca81 | ||
00ffde86d2 | |||
|
a554b41452 | ||
200dc6821f | |||
|
3df9caa86a | ||
|
bf65eb686e | ||
|
6260d243ee | ||
|
7f09435239 | ||
16e621c939 | |||
bb71c61ee1 | |||
927f149ff2 | |||
|
7ec3d9a0c6 | ||
|
18446dd599 | ||
|
5ddf56f0e0 | ||
|
b76a5669f5 | ||
|
fdfd0ab922 | ||
|
e80f4f20af | ||
|
d04441e3f7 | ||
|
18e7ec6b3e | ||
|
f608ad7baf | ||
|
e130e4e9ba | ||
|
db33e32b4d | ||
|
f94c83a387 |
7
Doxyfile
7
Doxyfile
@@ -89,8 +89,7 @@ FILE_PATTERNS = *.c \
|
||||
*.cpp \
|
||||
*.c++ \
|
||||
*.h \
|
||||
*.hpp \
|
||||
table/*.h
|
||||
*.hpp
|
||||
RECURSIVE = YES
|
||||
EXCLUDE =
|
||||
EXCLUDE_SYMLINKS = NO
|
||||
@@ -196,8 +195,8 @@ EXPAND_ONLY_PREDEF = YES
|
||||
SEARCH_INCLUDES = YES
|
||||
INCLUDE_PATH =
|
||||
INCLUDE_FILE_PATTERNS =
|
||||
PREDEFINED =
|
||||
EXPAND_AS_DEFINED = DEF_COMMAND
|
||||
PREDEFINED = ENABLE_NETWORK ENABLE_AI WITH_ZLIB WITH_LZO WITH_PNG WITH_FONTCONFIG WITH_FREETYPE WITH_ICU UNICODE _UNICODE
|
||||
EXPAND_AS_DEFINED =
|
||||
SKIP_FUNCTION_MACROS = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration::additions related to external references
|
||||
|
17
Makefile.in
17
Makefile.in
@@ -129,10 +129,22 @@ mrproper:
|
||||
done
|
||||
$(Q)rm -rf objs
|
||||
$(Q)rm -f Makefile Makefile.am Makefile.bundle
|
||||
$(Q)rm -f media/openttd.desktop
|
||||
$(Q)rm -f media/openttd.desktop media/openttd.desktop.install
|
||||
$(Q)rm -f $(CONFIG_CACHE_SOURCE_LIST) config.cache config.pwd config.log $(CONFIG_CACHE_PWD)
|
||||
# directories for bundle generation
|
||||
$(Q)rm -rf $(BUNDLE_DIR)
|
||||
$(Q)rm -rf $(BUNDLES_DIR)
|
||||
# output of profiling
|
||||
$(Q)rm -f $(BIN_DIR)/gmon.out
|
||||
# output of generating 'API' documentation
|
||||
$(Q)rm -f $(ROOT_DIR)/openttd.tag
|
||||
$(Q)rm -rf $(ROOT_DIR)/docs/source
|
||||
# output of generating AI API documentation
|
||||
$(Q)rm -f $(SRC_DIR)/ai/api/openttd.tag
|
||||
$(Q)rm -rf $(ROOT_DIR)/docs/aidocs
|
||||
# directories created by OpenTTD on regression testing
|
||||
$(Q)rm -rf $(BIN_DIR)/ai/regression/content_download $(BIN_DIR)/ai/regression/save $(BIN_DIR)/ai/regression/scenario
|
||||
distclean: mrproper
|
||||
|
||||
depend:
|
||||
@for dir in $(SRC_DIRS); do \
|
||||
@@ -150,6 +162,7 @@ run-prof: all
|
||||
|
||||
regression: all
|
||||
$(Q)cd !!BIN_DIR!! && sh ai/regression/run.sh
|
||||
test: regression
|
||||
|
||||
%.o:
|
||||
@for dir in $(SRC_DIRS); do \
|
||||
@@ -161,4 +174,6 @@ regression: all
|
||||
$(MAKE) -C $$dir $@; \
|
||||
done
|
||||
|
||||
.PHONY: test distclean mrproper clean
|
||||
|
||||
include Makefile.bundle
|
||||
|
@@ -88,6 +88,7 @@ clean:
|
||||
$(Q)rm -f strgen.o string.o table/strings.h $(STRGEN) $(LANGS) $(LANGS:%=$(BIN_DIR)/lang/%) lang/english.* $(ENDIAN_TARGETS)
|
||||
|
||||
mrproper: clean
|
||||
$(Q)rm -rf $(BIN_DIR)/lang
|
||||
|
||||
%.lng:
|
||||
@echo '$(STAGE) No such language: $(@:%.lng=%)'
|
||||
|
@@ -58,7 +58,10 @@ RES := $(shell mkdir -p $(BIN_DIR) $(sort $(dir $(OBJS))))
|
||||
|
||||
# Make sure endian_target.h is reasable as if it was in the src/ dir
|
||||
CFLAGS += -I $(SRC_OBJS_DIR) -I $(LANG_OBJS_DIR)
|
||||
CFLAGS_MAKEDEP += -I $(SRC_OBJS_DIR) -I $(LANG_OBJS_DIR) -I $(SCRIPT_SRC_DIR)
|
||||
CFLAGS_MAKEDEP += -I $(SRC_OBJS_DIR) -I $(LANG_OBJS_DIR)
|
||||
ifdef SCRIPT_SRC_DIR
|
||||
CFLAGS_MAKEDEP += -I $(SCRIPT_SRC_DIR)
|
||||
endif
|
||||
|
||||
ENDIAN_TARGETS := endian_target.h $(ENDIAN_CHECK)
|
||||
|
||||
|
@@ -504,6 +504,45 @@ function Regression::EngineList()
|
||||
}
|
||||
}
|
||||
|
||||
function Regression::Prices()
|
||||
{
|
||||
print("");
|
||||
print("--Prices--");
|
||||
print(" -Rail-");
|
||||
print(" 0,BT_TRACK: " + AIRail.GetBuildCost(0, AIRail.BT_TRACK));
|
||||
print(" 0,BT_SIGNAL: " + AIRail.GetBuildCost(0, AIRail.BT_SIGNAL));
|
||||
print(" 0,BT_DEPOT: " + AIRail.GetBuildCost(0, AIRail.BT_DEPOT));
|
||||
print(" 0,BT_STATION: " + AIRail.GetBuildCost(0, AIRail.BT_STATION));
|
||||
print(" 0,BT_WAYPOINT: " + AIRail.GetBuildCost(0, AIRail.BT_WAYPOINT));
|
||||
print(" 1,BT_TRACK: " + AIRail.GetBuildCost(1, AIRail.BT_TRACK));
|
||||
print(" 1,BT_SIGNAL: " + AIRail.GetBuildCost(1, AIRail.BT_SIGNAL));
|
||||
print(" 1,BT_DEPOT: " + AIRail.GetBuildCost(1, AIRail.BT_DEPOT));
|
||||
print(" 1,BT_STATION: " + AIRail.GetBuildCost(1, AIRail.BT_STATION));
|
||||
print(" 1,BT_WAYPOINT: " + AIRail.GetBuildCost(1, AIRail.BT_WAYPOINT));
|
||||
print(" -Road-");
|
||||
print(" ROADTYPE_ROAD,BT_ROAD: " + AIRoad.GetBuildCost(AIRoad.ROADTYPE_ROAD, AIRoad.BT_ROAD));
|
||||
print(" ROADTYPE_ROAD,BT_DEPOT: " + AIRoad.GetBuildCost(AIRoad.ROADTYPE_ROAD, AIRoad.BT_DEPOT));
|
||||
print(" ROADTYPE_ROAD,BT_BUS_STOP: " + AIRoad.GetBuildCost(AIRoad.ROADTYPE_ROAD, AIRoad.BT_BUS_STOP));
|
||||
print(" ROADTYPE_ROAD,BT_TRUCK_STOP: " + AIRoad.GetBuildCost(AIRoad.ROADTYPE_ROAD, AIRoad.BT_TRUCK_STOP));
|
||||
print(" ROADTYPE_TRAM,BT_ROAD: " + AIRoad.GetBuildCost(AIRoad.ROADTYPE_TRAM, AIRoad.BT_ROAD));
|
||||
print(" ROADTYPE_TRAM,BT_DEPOT: " + AIRoad.GetBuildCost(AIRoad.ROADTYPE_TRAM, AIRoad.BT_DEPOT));
|
||||
print(" ROADTYPE_TRAM,BT_BUS_STOP: " + AIRoad.GetBuildCost(AIRoad.ROADTYPE_TRAM, AIRoad.BT_BUS_STOP));
|
||||
print(" ROADTYPE_TRAM,BT_TRUCK_STOP: " + AIRoad.GetBuildCost(AIRoad.ROADTYPE_TRAM, AIRoad.BT_TRUCK_STOP));
|
||||
print(" -Water-");
|
||||
print(" BT_DOCK: " + AIMarine.GetBuildCost(AIMarine.BT_DOCK));
|
||||
print(" BT_DEPOT: " + AIMarine.GetBuildCost(AIMarine.BT_DEPOT));
|
||||
print(" BT_BUOY: " + AIMarine.GetBuildCost(AIMarine.BT_BUOY));
|
||||
print(" -Tile-");
|
||||
print(" BT_FOUNDATION: " + AITile.GetBuildCost(AITile.BT_FOUNDATION));
|
||||
print(" BT_TERRAFORM: " + AITile.GetBuildCost(AITile.BT_TERRAFORM));
|
||||
print(" BT_BUILD_TREES: " + AITile.GetBuildCost(AITile.BT_BUILD_TREES));
|
||||
print(" BT_CLEAR_GRASS: " + AITile.GetBuildCost(AITile.BT_CLEAR_GRASS));
|
||||
print(" BT_CLEAR_ROUGH: " + AITile.GetBuildCost(AITile.BT_CLEAR_ROUGH));
|
||||
print(" BT_CLEAR_ROCKY: " + AITile.GetBuildCost(AITile.BT_CLEAR_ROCKY));
|
||||
print(" BT_CLEAR_FIELDS: " + AITile.GetBuildCost(AITile.BT_CLEAR_FIELDS));
|
||||
print(" BT_CLEAR_HOUSE: " + AITile.GetBuildCost(AITile.BT_CLEAR_HOUSE));
|
||||
}
|
||||
|
||||
function cost_callback(old_path, new_tile, new_direction, self) { if (old_path == null) return 0; return old_path.GetCost() + 1; }
|
||||
function estimate_callback(tile, direction, goals, self) { return goals[0] - tile; }
|
||||
function neighbours_callback(path, cur_tile, self) { return [[cur_tile + 1, 1]]; }
|
||||
@@ -746,6 +785,36 @@ function Regression::List()
|
||||
|
||||
list.Clear();
|
||||
print(" IsEmpty(): " + list.IsEmpty());
|
||||
|
||||
for (local i = 0; i < 10; i++) {
|
||||
list.AddItem(i, 5 + i / 2);
|
||||
}
|
||||
|
||||
local it = list.Begin();
|
||||
print(" " + it + " => " + list.GetValue(it) + " (" + list.HasNext() + ")");
|
||||
list.Sort(list.SORT_BY_VALUE, list.SORT_ASCENDING);
|
||||
it = list.Next();
|
||||
print(" " + it + " => " + list.GetValue(it) + " (" + list.HasNext() + ")");
|
||||
|
||||
it = list.Begin();
|
||||
print(" " + it + " => " + list.GetValue(it) + " (" + list.HasNext() + ")");
|
||||
|
||||
list.SetValue(it + 1, -5);
|
||||
it = list.Next();
|
||||
print(" " + it + " => " + list.GetValue(it) + " (" + list.HasNext() + ")");
|
||||
|
||||
list.RemoveValue(list.GetValue(it) + 1);
|
||||
it = list.Next();
|
||||
print(" " + it + " => " + list.GetValue(it) + " (" + list.HasNext() + ")");
|
||||
|
||||
list.RemoveAboveValue(list.GetValue(it));
|
||||
it = list.Next();
|
||||
print(" " + it + " => " + list.GetValue(it) + " (" + list.HasNext() + ")");
|
||||
|
||||
while (list.HasNext()) {
|
||||
it = list.Next();
|
||||
print(" " + it + " => " + list.GetValue(it));
|
||||
}
|
||||
}
|
||||
|
||||
function Regression::Map()
|
||||
@@ -881,6 +950,15 @@ function Regression::Order()
|
||||
print(" UnshareOrders(): " + AIOrder.UnshareOrders(13));
|
||||
print(" AppendOrder(): " + AIOrder.AppendOrder(12, 33421, AIOrder.AIOF_NONE));
|
||||
|
||||
print(" GetStopLocation(): " + AIOrder.GetStopLocation(13, 0));
|
||||
print(" BuildVehicle(): " + AIVehicle.BuildVehicle(23596, 8));
|
||||
print(" BuildRailStation(): " + AIRail.BuildRailStation(7958, AIRail.RAILTRACK_NE_SW, 1, 1, AIStation.STATION_NEW));
|
||||
print(" AppendOrder(): " + AIOrder.AppendOrder(20, 7958, AIOrder.AIOF_NONE));
|
||||
print(" GetOrderCount(): " + AIOrder.GetOrderCount(20));
|
||||
print(" GetStopLocation(): " + AIOrder.GetStopLocation(20, 0));
|
||||
print(" SetStopLocation(): " + AIOrder.SetStopLocation(20, 0, AIOrder.STOPLOCATION_MIDDLE));
|
||||
print(" GetStopLocation(): " + AIOrder.GetStopLocation(20, 0));
|
||||
|
||||
local list = AIStationList_Vehicle(12);
|
||||
|
||||
print("");
|
||||
@@ -985,6 +1063,7 @@ function Regression::Rail()
|
||||
print(" " + i + " => " + list.GetValue(i));
|
||||
}
|
||||
print(" RemoveDepot(): " + AITile.DemolishTile(33411));
|
||||
print(" BuildRailDepot(): " + AIRail.BuildRailDepot(23596, 23597));
|
||||
|
||||
print(" Station");
|
||||
print(" BuildRailStation(): " + AIRail.BuildRailStation(0, AIRail.RAILTRACK_NE_SW, 1, 1, AIStation.STATION_NEW));
|
||||
@@ -1699,6 +1778,7 @@ function Regression::Start()
|
||||
this.IndustryTypeList();
|
||||
this.Map();
|
||||
this.Marine();
|
||||
this.Prices();
|
||||
this.Rail();
|
||||
this.RailTypeList();
|
||||
this.Road();
|
||||
|
@@ -569,6 +569,14 @@
|
||||
[]:
|
||||
4000 => 50
|
||||
IsEmpty(): true
|
||||
0 => 5 (true)
|
||||
ERROR: Next() is invalid as Begin() is never called
|
||||
ERROR: HasNext() is invalid as Begin() is never called
|
||||
0 => 5 (false)
|
||||
0 => 5 (true)
|
||||
2 => 6 (true)
|
||||
3 => 6 (true)
|
||||
9 => 0 (false)
|
||||
|
||||
--Company--
|
||||
SetName(): true
|
||||
@@ -584,7 +592,7 @@
|
||||
GetBankBalance(): 100000
|
||||
GetName(): (null : 0x00000000)
|
||||
GetLoanAmount(): 100000
|
||||
GetMaxLoanAmount(): 2000000000
|
||||
GetMaxLoanAmount(): 500000
|
||||
GetLoanInterval(): 10000
|
||||
SetLoanAmount(1): false
|
||||
SetLoanAmount(100): false
|
||||
@@ -596,8 +604,8 @@
|
||||
GetBankBalance(): 40000
|
||||
GetLoanAmount(): 40000
|
||||
SetLoanAmount(10000): true
|
||||
GetBankBalance(): 2000000000
|
||||
GetLoanAmount(): 2000000000
|
||||
GetBankBalance(): 500000
|
||||
GetLoanAmount(): 500000
|
||||
GetCompanyHQ(): -1
|
||||
BuildCompanyHQ(): true
|
||||
GetCompanyHQ(): 33151
|
||||
@@ -681,7 +689,7 @@
|
||||
GetAirportWidth(9): -1
|
||||
GetAirportHeight(9): -1
|
||||
GetAirportCoverageRadius(9): -1
|
||||
GetBankBalance(): 1999999790
|
||||
GetBankBalance(): 499790
|
||||
GetPrice(): 5400
|
||||
BuildAirport(): true
|
||||
IsHangarTile(): false
|
||||
@@ -691,11 +699,11 @@
|
||||
IsHangarTile(): true
|
||||
IsAirportTile(): true
|
||||
GetAirportType(): 0
|
||||
GetBankBalance(): 1999989890
|
||||
GetBankBalance(): 489890
|
||||
RemoveAirport(): true
|
||||
IsHangarTile(): false
|
||||
IsAirportTile(): false
|
||||
GetBankBalance(): 1999989626
|
||||
GetBankBalance(): 489626
|
||||
BuildAirport(): true
|
||||
|
||||
--Bridge--
|
||||
@@ -7085,7 +7093,7 @@
|
||||
IsBuoyTile(): false
|
||||
IsLockTile(): false
|
||||
IsCanalTile(): false
|
||||
GetBankBalance(): 1999980703
|
||||
GetBankBalance(): 480703
|
||||
BuildWaterDepot(): true
|
||||
BuildDock(): true
|
||||
BuildBuoy(): true
|
||||
@@ -7098,7 +7106,7 @@
|
||||
IsBuoyTile(): true
|
||||
IsLockTile(): true
|
||||
IsCanalTile(): true
|
||||
GetBankBalance(): 1999951154
|
||||
GetBankBalance(): 451154
|
||||
|
||||
--AIWaypointList(BUOY)--
|
||||
Count(): 1
|
||||
@@ -7117,10 +7125,45 @@
|
||||
IsBuoyTile(): false
|
||||
IsLockTile(): false
|
||||
IsCanalTile(): false
|
||||
GetBankBalance(): 1999928509
|
||||
GetBankBalance(): 428509
|
||||
BuildWaterDepot(): true
|
||||
BuildDock(): true
|
||||
|
||||
--Prices--
|
||||
-Rail-
|
||||
0,BT_TRACK: 75
|
||||
0,BT_SIGNAL: 48
|
||||
0,BT_DEPOT: 450
|
||||
0,BT_STATION: 285
|
||||
0,BT_WAYPOINT: 450
|
||||
1,BT_TRACK: -1
|
||||
1,BT_SIGNAL: -1
|
||||
1,BT_DEPOT: -1
|
||||
1,BT_STATION: -1
|
||||
1,BT_WAYPOINT: -1
|
||||
-Road-
|
||||
ROADTYPE_ROAD,BT_ROAD: 71
|
||||
ROADTYPE_ROAD,BT_DEPOT: 375
|
||||
ROADTYPE_ROAD,BT_BUS_STOP: 150
|
||||
ROADTYPE_ROAD,BT_TRUCK_STOP: 150
|
||||
ROADTYPE_TRAM,BT_ROAD: -1
|
||||
ROADTYPE_TRAM,BT_DEPOT: -1
|
||||
ROADTYPE_TRAM,BT_BUS_STOP: -1
|
||||
ROADTYPE_TRAM,BT_TRUCK_STOP: -1
|
||||
-Water-
|
||||
BT_DOCK: 262
|
||||
BT_DEPOT: 525
|
||||
BT_BUOY: 262
|
||||
-Tile-
|
||||
BT_FOUNDATION: 187
|
||||
BT_TERRAFORM: 187
|
||||
BT_BUILD_TREES: 15
|
||||
BT_CLEAR_GRASS: 15
|
||||
BT_CLEAR_ROUGH: 30
|
||||
BT_CLEAR_ROCKY: 150
|
||||
BT_CLEAR_FIELDS: 375
|
||||
BT_CLEAR_HOUSE: 1200
|
||||
|
||||
--Rail--
|
||||
IsRailTile(): false
|
||||
BuildRailTrack(): true
|
||||
@@ -7144,6 +7187,7 @@
|
||||
Depot distance from (0,0) ListDump:
|
||||
33411 => 261
|
||||
RemoveDepot(): true
|
||||
BuildRailDepot(): true
|
||||
Station
|
||||
BuildRailStation(): false
|
||||
BuildRailStation(): true
|
||||
@@ -8530,6 +8574,14 @@
|
||||
ShareOrders(): true
|
||||
UnshareOrders(): true
|
||||
AppendOrder(): true
|
||||
GetStopLocation(): -1
|
||||
BuildVehicle(): 20
|
||||
BuildRailStation(): true
|
||||
AppendOrder(): true
|
||||
GetOrderCount(): 1
|
||||
GetStopLocation(): 2
|
||||
SetStopLocation(): true
|
||||
GetStopLocation(): 1
|
||||
|
||||
--StationList_Vehicle--
|
||||
Count(): 2
|
||||
@@ -8556,9 +8608,11 @@
|
||||
4 => 0
|
||||
|
||||
--VehicleList_Station--
|
||||
Count(): 0
|
||||
Count(): 1
|
||||
Location ListDump:
|
||||
20 => 23596
|
||||
foreach():
|
||||
20 => 23596
|
||||
|
||||
First Subsidy Test
|
||||
--Subsidy (0) --
|
||||
|
40
bin/data/no_sound.obs
Normal file
40
bin/data/no_sound.obs
Normal file
@@ -0,0 +1,40 @@
|
||||
; $Id$
|
||||
;
|
||||
; This represents more or less nothingness
|
||||
;
|
||||
[metadata]
|
||||
name = NoSound
|
||||
shortname = NULL
|
||||
version = 2
|
||||
fallback = true
|
||||
description = A sound pack without any sounds.
|
||||
description.ar_EG = مجموعة صوت بدوت اصوات مضافة
|
||||
description.bg_BG = Празен звуков пакет.
|
||||
description.ca_ES = Un joc de sons sense cap so.
|
||||
description.cs_CZ = Prázdná sada zvuků.
|
||||
description.de_DE = Basissounds ohne Sound.
|
||||
description.en_GB = A sound pack without any sounds.
|
||||
description.en_US = A sound pack without any sounds.
|
||||
description.es_ES = Un conjunto de sonidos vacío.
|
||||
description.fi_FI = Äänipaketti ilman ääniä.
|
||||
description.fr_FR = Un pack de sons sans sons.
|
||||
description.hr_HR = Zvučni paket bez ikakvih zvukova.
|
||||
description.hu_HU = Hang alapcsomag hangok nélkül.
|
||||
description.id_ID = Paket efek suara tanpa berisi suara.
|
||||
description.it_IT = Un pacchetto sonoro non contenente alcun suono.
|
||||
description.nb_NO = En lydpakke uten noen lyder.
|
||||
description.nl_NL = Een geluidset zonder geluid.
|
||||
description.nn_NO = Ei lydpakke utan nokon lydar.
|
||||
description.pt_PT = Um conjunto de sons vazio.
|
||||
description.ru_RU = "Пустой" набор звукового оформления, не содержащий никаких звуков.
|
||||
description.sl_SL = Zvočni paket brez zvoka.
|
||||
description.sv_SE = Ett ljudpaket utan några ljud.
|
||||
description.zh_TW = 不含任何音效的音效集。
|
||||
|
||||
[files]
|
||||
samples =
|
||||
|
||||
[md5s]
|
||||
|
||||
[origin]
|
||||
default = This file was part of your OpenTTD installation.
|
Binary file not shown.
@@ -4,11 +4,33 @@
|
||||
; Tycoon Deluxe DOS CD.
|
||||
;
|
||||
[metadata]
|
||||
name = original_dos
|
||||
shortname = TTDD
|
||||
version = 1
|
||||
description = Original Transport Tycoon Deluxe DOS edition graphics
|
||||
palette = DOS
|
||||
name = original_dos
|
||||
shortname = TTDD
|
||||
version = 1
|
||||
palette = DOS
|
||||
description = Original Transport Tycoon Deluxe DOS edition graphics.
|
||||
description.ar_EG = النسخة الاصلية من ترانسبورت تايكون ديلوكس الرسومية نسخة الدوس
|
||||
description.bg_BG = Оригинални графики на Transport Tycoon Deluxe за DOS.
|
||||
description.ca_ES = Gràfics originals de Transport Tycoon Deluxe per a DOS.
|
||||
description.cs_CZ = Původní sada grafik Transport Tycoon Deluxe (verze pro DOS).
|
||||
description.de_DE = Original Transport Tycoon Deluxe DOS Basisgrafiken.
|
||||
description.en_GB = Original Transport Tycoon Deluxe DOS edition graphics.
|
||||
description.en_US = Original Transport Tycoon Deluxe DOS edition graphics.
|
||||
description.es_ES = Gráficos originales de Transport Tycoon Deluxe versión DOS.
|
||||
description.fi_FI = Alkuperäiset Transport Tycoon Deluxe DOS grafiikat.
|
||||
description.fr_FR = Graphiques originaux de Transport Tycoon Deluxe (version DOS).
|
||||
description.hr_HR = Originalna grafika za Transport Tycoon Deluxe DOS izdanje.
|
||||
description.hu_HU = Az eredeti Transport Tycoon Deluxe DOS verziójának grafikája.
|
||||
description.id_ID = Grafik orisinil Transport Tycoon Deluxe versi DOS.
|
||||
description.it_IT = Grafica originale di Transport Tycoon Deluxe, edizione DOS.
|
||||
description.nb_NO = Original grafikk fra Transport Tycoon Deluxe for DOS.
|
||||
description.nl_NL = Originele graphics van de Transport Tycoon Deluxe DOS-versie.
|
||||
description.nn_NO = Original grafikk frå Transport Tycoon Deluxe for DOS.
|
||||
description.pt_PT = Gráficos originais da edição DOS de Transport Tycoon Deluxe.
|
||||
description.ru_RU = Оригинальная графика из Transport Tycoon Deluxe для DOS.
|
||||
description.sl_SL = Originalna grafika Transport Tycoon Deluxe za različico DOS.
|
||||
description.sv_SE = Originalgrafiken från Transport Tycoon Deluxe, DOS-utgåvan.
|
||||
description.zh_TW = 原版 Transport Tycoon Deluxe DOS 版的圖形。
|
||||
|
||||
[files]
|
||||
base = TRG1.GRF
|
||||
@@ -28,4 +50,4 @@ OPENTTDD.GRF = 356cf9663aacb212fdbff609d99090d6
|
||||
|
||||
[origin]
|
||||
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
|
||||
OPENTTDD.GRF = This file was part of your installation.
|
||||
OPENTTDD.GRF = This file was part of your OpenTTD installation.
|
||||
|
@@ -4,10 +4,32 @@
|
||||
; Tycoon Deluxe DOS CD.
|
||||
;
|
||||
[metadata]
|
||||
name = original_dos
|
||||
shortname = TTDO
|
||||
version = 0
|
||||
description = Original Transport Tycoon Deluxe DOS edition sounds
|
||||
name = original_dos
|
||||
shortname = TTDO
|
||||
version = 0
|
||||
description = Original Transport Tycoon Deluxe DOS edition sounds.
|
||||
description.ar_EG = النسخة الاصلية من ترانسبورت تايكون ديلوكس الصوتية نسخة الدوس
|
||||
description.bg_BG = Оригинални звуци на Transport Tycoon Deluxe за DOS.
|
||||
description.ca_ES = Sons originals de Transport Tycoon Deluxe per a DOS.
|
||||
description.cs_CZ = Původní sada zvuků Transport Tycoon Deluxe (verze pro DOS).
|
||||
description.de_DE = Original Transport Tycoon Deluxe DOS Basissounds.
|
||||
description.en_GB = Original Transport Tycoon Deluxe DOS edition sounds.
|
||||
description.en_US = Original Transport Tycoon Deluxe DOS edition sounds.
|
||||
description.es_ES = Sonidos originales de Transport Tycoon Deluxe versión DOS.
|
||||
description.fi_FI = Alkuperäiset Transport Tycoon Deluxe DOS äänet.
|
||||
description.hr_HR = Originalni zvukovi za Transport Tycoon Deluxe DOS izdanje.
|
||||
description.hu_HU = Az eredeti Transport Tycoon Deluxe DOS verziójának hangjai.
|
||||
description.fr_FR = Sons originaux de Transport Tycoon Deluxe (version DOS).
|
||||
description.id_ID = Efek suara orisinil Transport Tycoon Deluxe versi DOS.
|
||||
description.it_IT = Suoni originali di Transport Tycoon Deluxe, edizione DOS.
|
||||
description.nb_NO = Originale lyder fra Transport Tycoon Deluxe for DOS.
|
||||
description.nl_NL = Originele geluiden van de Transport Tycoon Deluxe DOS-versie.
|
||||
description.nn_NO = Originale lydar frå Transport Tycoon Deluxe for DOS.
|
||||
description.pt_PT = Sons originais da edição DOS de Transport Tycoon Deluxe.
|
||||
description.ru_RU = Оригинальный набор звукового оформления из игры Transport Tycoon Deluxe для DOS.
|
||||
description.sl_SL = Originalni zvoki Transport Tycoon Deluxe različice DOS.
|
||||
description.sv_SE = Originalljuden från Transport Tycoon Deluxe, DOS-utgåvan.
|
||||
description.zh_TW = 原版 Transport Tycoon Deluxe DOS 版的音效。
|
||||
|
||||
[files]
|
||||
samples = SAMPLE.CAT
|
||||
|
@@ -4,11 +4,33 @@
|
||||
; Tycoon Deluxe DOS CD. It contains one broken sprite.
|
||||
;
|
||||
[metadata]
|
||||
name = original_dos_de
|
||||
shortname = TTDD
|
||||
version = 0
|
||||
description = Original Transport Tycoon Deluxe DOS (German) edition graphics
|
||||
palette = DOS
|
||||
name = original_dos_de
|
||||
shortname = TTDD
|
||||
version = 0
|
||||
palette = DOS
|
||||
description = Original Transport Tycoon Deluxe DOS (German) edition graphics.
|
||||
description.ar_EG = النسخة الاصلية من ترانسبورت تايكون ديلوكس الالمانية نسخة الدوس
|
||||
description.bg_BG = Оригинални графики на Transport Tycoon Deluxe за DOS (немски) .
|
||||
description.ca_ES = Gràfics originals de Transport Tycoon Deluxe per a DOS (Alemany).
|
||||
description.cs_CZ = Původní sada grafik Transport Tycoon Deluxe (německá verze pro DOS).
|
||||
description.de_DE = Original Transport Tycoon Deluxe DOS (Deutsch) Basisgrafiken.
|
||||
description.en_GB = Original Transport Tycoon Deluxe DOS (German) edition graphics.
|
||||
description.en_US = Original Transport Tycoon Deluxe DOS (German) edition graphics.
|
||||
description.es_ES = Gráficos originales de Transport Tycoon Deluxe versión DOS (Alemán).
|
||||
description.fi_FI = Alkuperäiset Transport Tycoon Deluxe DOS (Saksalainen) grafiikat.
|
||||
description.fr_FR = Graphiques originaux de Transport Tycoon Deluxe (version DOS allemande).
|
||||
description.hr_HR = Originalna grafika za Transport Tycoon Deluxe DOS (Njemački) izdanje.
|
||||
description.hu_HU = Az eredeti Transport Tycoon Deluxe DOS (német) verziójának grafikája.
|
||||
description.id_ID = Grafik orisinil Transport Tycoon Deluxe versi DOS (Jerman).
|
||||
description.it_IT = Grafica originale di Transport Tycoon Deluxe (tedesco), edizione DOS.
|
||||
description.nb_NO = Original grafikk fra Transport Tycoon Deluxe for DOS (tysk).
|
||||
description.nl_NL = Originele graphics van de Duitse Transport Tycoon Deluxe DOS-versie.
|
||||
description.nn_NO = Original grafikk frå Transport Tycoon Deluxe for DOS (tysk).
|
||||
description.pt_PT = Gráficos originais da edição DOS (Alemã) de Transport Tycoon Deluxe.
|
||||
description.ru_RU = Оригинальная графика из немецкой версии Transport Tycoon Deluxe для DOS.
|
||||
description.sl_SL = Originalna grafika Transport Tycoon Deluxe za nemško različico DOS.
|
||||
description.sv_SE = Originalgrafiken från Transport Tycoon Deluxe, DOS-utgåvan (tyska).
|
||||
description.zh_TW = 原版 Transport Tycoon Deluxe DOS 版 (德國版) 的圖形。
|
||||
|
||||
[files]
|
||||
base = TRG1.GRF
|
||||
@@ -28,4 +50,4 @@ OPENTTDD.GRF = 356cf9663aacb212fdbff609d99090d6
|
||||
|
||||
[origin]
|
||||
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
|
||||
OPENTTDD.GRF = This file was part of your installation.
|
||||
OPENTTDD.GRF = This file was part of your OpenTTD installation.
|
||||
|
@@ -4,11 +4,33 @@
|
||||
; Tycoon Deluxe for Windows CD.
|
||||
;
|
||||
[metadata]
|
||||
name = original_windows
|
||||
shortname = TTDW
|
||||
version = 0
|
||||
description = Original Transport Tycoon Deluxe Windows edition graphics
|
||||
palette = Windows
|
||||
name = original_windows
|
||||
shortname = TTDW
|
||||
version = 0
|
||||
palette = Windows
|
||||
description = Original Transport Tycoon Deluxe Windows edition graphics.
|
||||
description.ar_EG = النسخة الاصلية من ترانسبورت تايكون ديلوكس الرسومية نسخة وندوز
|
||||
description.bg_BG = Оригинални графики на Transport Tycoon Deluxe за Windows.
|
||||
description.ca_ES = Gràfics originals de Transport Tycoon Deluxe per a Windows.
|
||||
description.cs_CZ = Původní sada grafik Transport Tycoon Deluxe (verze pro Windows).
|
||||
description.de_DE = Original Transport Tycoon Deluxe Windows Basisgrafiken.
|
||||
description.en_GB = Original Transport Tycoon Deluxe Windows edition graphics.
|
||||
description.en_US = Original Transport Tycoon Deluxe Windows edition graphics.
|
||||
description.es_ES = Gráficos originales de Transport Tycoon Deluxe versión Windows.
|
||||
description.fi_FI = Alkuperäiset Transport Tycoon Deluxe Windows grafiikat.
|
||||
description.fr_FR = Graphiques originaux de Transport Tycoon Deluxe (version Windows).
|
||||
description.hr_HR = Originalna grafika za Transport Tycoon Deluxe Windows izdanje.
|
||||
description.hu_HU = Az eredeti Transport Tycoon Deluxe Windows verziójának grafikája.
|
||||
description.id_ID = Grafik orisinil Transport Tycoon Deluxe versi Windows.
|
||||
description.it_IT = Grafica originale di Transport Tycoon Deluxe, edizione Windows.
|
||||
description.nb_NO = Original grafikk fra Transport Tycoon Deluxe for Windows.
|
||||
description.nl_NL = Originele graphics van de Transport Tycoon Deluxe Windows-versie.
|
||||
description.nn_NO = Original grafikk frå Transport Tycoon Deluxe for Windows.
|
||||
description.pt_PT = Gráficos originais da edição Windows de Transport Tycoon Deluxe.
|
||||
description.ru_RU = Оригинальная графика из Transport Tycoon Deluxe для Windows.
|
||||
description.sl_SL = Originalna grafika Transport Tycoon Deluxe za različico oken(windows).
|
||||
description.sv_SE = Originalgrafiken från Transport Tycoon Deluxe, Windows-utgåvan.
|
||||
description.zh_TW = 原版 Transport Tycoon Deluxe Windows 版的圖形。
|
||||
|
||||
[files]
|
||||
base = TRG1R.GRF
|
||||
@@ -28,4 +50,4 @@ OPENTTDW.GRF = 80346ea80de167068cfb975f93963941
|
||||
|
||||
[origin]
|
||||
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
|
||||
OPENTTDW.GRF = This file was part of your installation.
|
||||
OPENTTDW.GRF = This file was part of your OpenTTD installation.
|
||||
|
@@ -4,10 +4,32 @@
|
||||
; Tycoon Deluxe for Windows CD.
|
||||
;
|
||||
[metadata]
|
||||
name = original_windows
|
||||
shortname = TTDO
|
||||
version = 0
|
||||
description = Original Transport Tycoon Deluxe Windows edition sounds
|
||||
name = original_windows
|
||||
shortname = TTDO
|
||||
version = 0
|
||||
description = Original Transport Tycoon Deluxe Windows edition sounds.
|
||||
description.ar_EG = النسخة الاصلية من ترانسبورت تايكون ديلوكس الصوتية نسخة وندوز
|
||||
description.bg_BG = Оригинални звуци на Transport Tycoon Deluxe за Windows.
|
||||
description.ca_ES = Sons originals de Transport Tycoon Deluxe per a Windows.
|
||||
description.cs_CZ = Původní sada zvuků Transport Tycoon Deluxe (verze pro Windows).
|
||||
description.de_DE = Original Transport Tycoon Deluxe Windows Basissounds.
|
||||
description.en_GB = Original Transport Tycoon Deluxe Windows edition sounds.
|
||||
description.en_US = Original Transport Tycoon Deluxe Windows edition sounds.
|
||||
description.es_ES = Sonidos originales de Transport Tycoon Deluxe versión Windows.
|
||||
description.fi_FI = Alkuperäiset Transport Tycoon Deluxe Windows äänet.
|
||||
description.hr_HR = Originalni zvukovi za Transport Tycoon Deluxe Windows izdanje.
|
||||
description.hu_HU = Az eredeti Transport Tycoon Deluxe Windows verziójának hangjai.
|
||||
description.fr_FR = Sons originaux de Transport Tycoon Deluxe (version Windows).
|
||||
description.id_ID = Efek suara orisinil Transport Tycoon Deluxe versi Windows.
|
||||
description.it_IT = Suoni originali di Transport Tycoon Deluxe, edizione Windows.
|
||||
description.nb_NO = Originale lyder fra Transport Tycoon Deluxe for Windows.
|
||||
description.nl_NL = Originele geluiden van de Transport Tycoon Deluxe Windows-versie.
|
||||
description.nn_NO = Originale lydar frå Transport Tycoon Deluxe for Windows.
|
||||
description.pt_PT = Sons originais da edição Windows de Transport Tycoon Deluxe.
|
||||
description.ru_RU = Оригинальный набор звукового оформления из игры Transport Tycoon Deluxe для Windows.
|
||||
description.sl_SL = Originalni zvoki Transport Tycoon Deluxe različice oken(windows).
|
||||
description.sv_SE = Originalljuden från Transport Tycoon Deluxe, Windows-utgåvan.
|
||||
description.zh_TW = 原版 Transport Tycoon Deluxe Windows 版的音效。
|
||||
|
||||
[files]
|
||||
samples = SAMPLE.CAT
|
||||
|
@@ -3,10 +3,33 @@
|
||||
; This represents more or less nothingness
|
||||
;
|
||||
[metadata]
|
||||
name = NoMusic
|
||||
shortname = NOMU
|
||||
version = 0
|
||||
description = A music pack without actual music
|
||||
name = NoMusic
|
||||
shortname = NULL
|
||||
version = 0
|
||||
fallback = true
|
||||
description = A music pack without actual music.
|
||||
description.ar_EG = مجموعة موسيقى بدون موسيقى
|
||||
description.bg_BG = Празен музикален пакет.
|
||||
description.ca_ES = Un joc de música sense cap música.
|
||||
description.cs_CZ = Prázná hudební sada.
|
||||
description.de_DE = Ein Musikset ohne Musik.
|
||||
description.en_GB = A music pack without actual music.
|
||||
description.en_US = A music pack without actual music.
|
||||
description.es_ES = Un conjunto de música vacío.
|
||||
description.fi_FI = Musiikkipaketti, jossa ei ole musiikkia.
|
||||
description.fr_FR = Un pack de musiques sans musiques.
|
||||
description.hr_HR = Muzički paket bez ikakve muzike.
|
||||
description.hu_HU = Zenei alapcsomag zene nélkül.
|
||||
description.id_ID = Paket musik tanpa berisi musik.
|
||||
description.it_IT = Un pacchetto musicale non contenente alcuna musica.
|
||||
description.nb_NO = En musikkpakke uten noe musikk.
|
||||
description.nl_NL = Een muziekset zonder muziek.
|
||||
description.nn_NO = Ei musikkpakke utan noko musikk.
|
||||
description.pt_PT = Um conjunto de música vazio.
|
||||
description.ru_RU = "Пустой" набор музыкального оформления, не содержащий никакой музыки.
|
||||
description.sl_SL = Glasbeni paket z vključeno glasbo.
|
||||
description.sv_SE = Ett musikpaket utan någon musik.
|
||||
description.zh_TW = 不含任何音樂的音樂集。
|
||||
|
||||
[files]
|
||||
theme =
|
||||
@@ -46,3 +69,4 @@ ezy_9 =
|
||||
[names]
|
||||
|
||||
[origin]
|
||||
default = This file was part of your OpenTTD installation.
|
||||
|
@@ -4,10 +4,32 @@
|
||||
; Tycoon Deluxe for Windows CD.
|
||||
;
|
||||
[metadata]
|
||||
name = original_windows
|
||||
shortname = TTDW
|
||||
version = 1
|
||||
description = Original Transport Tycoon Deluxe Windows edition music
|
||||
name = original_windows
|
||||
shortname = TTDW
|
||||
version = 1
|
||||
description = Original Transport Tycoon Deluxe Windows edition music.
|
||||
description.ar_EG = النسخة الاصلية من ترانسبورت تايكون ديلوكس الموسيقية نسخة وندوز
|
||||
description.bg_BG = Оригинална музика на Transport Tycoon Deluxe за Windows.
|
||||
description.ca_ES = Música Original de Transport Tycoon Deluxe per a Windows.
|
||||
description.cs_CZ = Původní hudba Transport Tycoon Deluxe (verze pro Windows).
|
||||
description.de_DE = Original Transport Tycoon Deluxe Windows Musikset.
|
||||
description.en_GB = Original Transport Tycoon Deluxe Windows edition music.
|
||||
description.en_US = Original Transport Tycoon Deluxe Windows edition music.
|
||||
description.es_ES = Música original de Transport Tycoon Deluxe versión Windows.
|
||||
description.fi_FI = Alkuperäinen Transport Tycoon Deluxe Windows musiikki.
|
||||
description.fr_FR = Musiques originales de Transport Tycoon Deluxe (version Windows).
|
||||
description.hr_HR = Originalna muzika za Transport Tycoon Deluxe Windows izdanje.
|
||||
description.hu_HU = Az eredeti Transport Tycoon Deluxe Windows verziójának zenéje.
|
||||
description.id_ID = Musik pengiring orisinil Transport Tycoon Deluxe versi Windows.
|
||||
description.it_IT = Musica originale di Transport Tycoon Deluxe, edizione Windows.
|
||||
description.nb_NO = Original musikk fra Transport Tycoon Deluxe for Windows.
|
||||
description.nl_NL = Originele muziek van de Transport Tycoon Deluxe Windows-versie.
|
||||
description.nn_NO = Original musikk frå Transport Tycoon Deluxe for Windows.
|
||||
description.pt_PT = Música original da edição Windows de Transport Tycoon Deluxe.
|
||||
description.ru_RU = Оригинальный набор музыкального оформления из игры Transport Tycoon Deluxe.
|
||||
description.sl_SL = Originalna glasba Transport Tycoon Deluxe različice oken(windows).
|
||||
description.sv_SE = Originalmusiken från Transport Tycoon Deluxe, Windows-utgåvan.
|
||||
description.zh_TW = 原版 Transport Tycoon Deluxe Windows 版的音樂。
|
||||
|
||||
[files]
|
||||
theme = GM_TT00.GM
|
||||
@@ -18,7 +40,7 @@ old_3 = GM_TT12.GM
|
||||
old_4 = GM_TT08.GM
|
||||
old_5 = GM_TT13.GM
|
||||
old_6 = GM_TT14.GM
|
||||
old_7 = GM_TT19.GM
|
||||
old_7 = GM_TT10.GM
|
||||
old_8 =
|
||||
old_9 =
|
||||
new_0 = GM_TT04.GM
|
||||
@@ -91,4 +113,4 @@ GM_TT20.GM = Jammit
|
||||
GM_TT21.GM = Movin' On
|
||||
|
||||
[origin]
|
||||
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
|
||||
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
|
||||
|
109
changelog.txt
109
changelog.txt
@@ -1,3 +1,112 @@
|
||||
1.0.0-RC2 (2010-03-04)
|
||||
------------------------------------------------------------------------
|
||||
- Feature: [YAPF] Consider the railtype imposed speed limit for pathfinding (r19301)
|
||||
- Feature: BaNaNaS support for music sets (r19262)
|
||||
- Feature: [NewGRF] Add 2 bits of pseudo-random data for rail types, based on tile location (r19235)
|
||||
- Feature: [Windows] Add OpenMSX to the installer (r19220, r19219)
|
||||
- Feature: [NewGRF] Add CB36 support for aircraft properties 0F and 11 (r19218)
|
||||
- Feature: Scroll to current order destination when ctrl+clicking the start/stop bar (r19216, r19215)
|
||||
- Feature: Concept of fallback base sets, i.e. do not automatically load the NoMusic/NoSound sets when there is another set; make NoSound part of base installations (r19214, r19213, r19212, r19211, r19206)
|
||||
- Feature: Support for genders for cargos, industries, vehicles, stations (r19180, r19179, r19178, r19177)
|
||||
- Change: Increase the default small font size for freetype fonts as 6 point fonts are usually unreadable [FS#3655] (r19308)
|
||||
- Change: [NewGRF] Railtype cost factor from byte to word value (r19306)
|
||||
- Change: Improve error message with track building when signals are in the way (r19190, r19189)
|
||||
- Change: Do not print the absolute path to AI script files in the AI debug window, use the relative path from /ai/ instead (r19166)
|
||||
- Change: The Debian packaging; bring it in sync with the packaging used at Debian excluding package splitting (r19162)
|
||||
- Fix: [Windows] Disable sound when a sound error happens instead of crashing [FS#3652] (r19304)
|
||||
- Fix: [NewGRF] Return the TTD airport type in station var 0xF1 (r19299)
|
||||
- Fix: [NewGRF] Segfault when station vars 0xF2/0xF3 is accessed when there is no truck/bus stop (r19298)
|
||||
- Fix: [NoAI] Some methods of AIAbstractList left invalid iterators [FS#3566] (r19293)
|
||||
- Fix: [YAPP] If reversing at path signals was disabled, a train would not reverse when hitting the back of an one-way signal (r19286)
|
||||
- Fix: [NewGRF] Ensure prices cannot be set to zero. Zero prices break a lot of the internal logic to determine whether something has been done [FS#3646] (r19277)
|
||||
- Fix: 'Cannot build <industry> here... <industry> in the way' showed the to-be-built industry twice, instead of the to-be-built industry and the industry that is in the way [FS#3618] (r19265)
|
||||
- Fix: Writing (console) output to a file failed on Windows if the date would not be logged [FS#3639] (r19252)
|
||||
- Fix: [NewGRF] Some GRF error messages did not free the previous error messages, creating a memory leak (r19251)
|
||||
- Fix: With RTL languages clicking a horizontal scrollbar that could not scroll could cause a crash [FS#3643] (r19250)
|
||||
- Fix: Start and end tiles were swapped in CMD_REMOVE_LONG_ROAD causing too much road to be removed [FS#3642] (r19249)
|
||||
- Fix: DOS 'port' did not compile anymore (r19248)
|
||||
- Fix: The -M command line option did not work (r19233)
|
||||
- Fix: GetDestination() is invalid for nearest-depot orders (r19210)
|
||||
- Fix: Compilation was broken for gcc 3.3 (r19207)
|
||||
- Fix: The vehicle info in the autoreplace gui was drawn even when the window was shaded [FS#3634] (r19187)
|
||||
- Fix: When selecting 'build many industries' in the scenario editor the 'build' button was not enabled [FS#3632] (r19176)
|
||||
- Fix: Buoys are no Stations, only BaseStations (r19174)
|
||||
- Fix: Under some circumstances timidity (via extmidi) would not shut down properly causing all kinds of trouble (e.g. blocked audio output). Try harder to shut down timidity and first shut down the music so shut down order is the inverse of initialisation order (r19168)
|
||||
- Fix: Industry 0 could be choosen even if not available [FS#3631] (r19167)
|
||||
- Fix: Vehicle running costs should not be changed in a running game [FS#3629] (r19165)
|
||||
|
||||
|
||||
1.0.0-RC1 (2010-02-18)
|
||||
------------------------------------------------------------------------
|
||||
- Feature: Allow to select different land colours for the smallmap (r19064)
|
||||
- Feature: [NewGRF] Action 3/2/1 (i.e. new graphics) support for rail types (r19056)
|
||||
- Feature: Add zoom-out to smallmap (r19039)
|
||||
- Add: [NoAI] AIOrder::[G|S]etStopLocation to get/set the stop location of trains in a rail station (r19014)
|
||||
- Change: Move home directory to a better place in Haiku [FS#3625] (r19151)
|
||||
- Change: Do not load the 'new game' NewGRFs when you are certain the savegame would not have been saved with them, i.e. do not load the 'new game' NewGRFs for TTO savegames (r19044)
|
||||
- Fix: Invisible depots draw the track, so also draw the overlays (r19154)
|
||||
- Fix: [v]seprintf should return the number of added characters excluding '\0' on truncation [FS#3627] (r19149, r19148)
|
||||
- Fix: [YAPF] Look-ahead for multitile waypoints 'made up' data that should not go into the cache, causing desyncs in MP [FS#3619] (r19141)
|
||||
- Fix: Report a more useful error when failing to build a bubble generator (r19137)
|
||||
- Fix: Resize station cargo widget when needed to display all accepted cargo types [FS#3617] (r19123)
|
||||
- Fix: [NewGRF] Industry property 0x17 was interpreted incorrectly and in some cases circumvented the density difficulty setting (r19120)
|
||||
- Fix: removing towns (in the scenario editor) that had stations/depots refer to them or vehicles were on the town's road could cause a crash [FS#3616] (r19119)
|
||||
- Fix: In the order window the Non-stop dropdown was not enabled for depot and waypoint orders and some buttons were raised too soon [FS#3593] (r19118, r19117)
|
||||
- Fix: Do not crash on broken lng file and prevent it from happening again [FS#3611] (r19113, r19112)
|
||||
- Fix: Not all news data was properly freed when starting a new game [FS#3614] (r19105)
|
||||
- Fix: The BeMidi driver was broken [FS#3610] (r19097)
|
||||
- Fix: Crash when one of the items in the news_display group in the config file has no value (r19096)
|
||||
- Fix: Crash when a baseset has an empty metadata field (r19095)
|
||||
- Fix: Possible read/write after free when the client triggered the server to close the connection [FS#3599] (r19072)
|
||||
- Fix: Remove Bidi control characters from the reordered text so they are not drawn [FS#3604] (r19067)
|
||||
- Fix: [NewGRF] Settings that are part of the "TTPatch flags" can cause desyncs if they are changed in network games (r19066)
|
||||
- Fix: When banning yourself via rcon do not send the 'command response' to the client as the connection has already been terminated [FS#3598] (r19054)
|
||||
- Fix: Mass stopping/starting/autoreplacing gave empty errors when there were no vehicles [FS#3577] (r19024)
|
||||
- Fix: City airport introduction date had become 5 years later (r19023)
|
||||
- Fix: Loading old (0.1-ish) savegames failed (r19022)
|
||||
- Fix: Do not NULL the pointers when saving the savegame on an error during saving; the savegame is still valid, so do not make it invalid [FS#3570] (r19021)
|
||||
- Fix: When removing roads, the player was also charged for removing the foundations [FS#3591] (r19016)
|
||||
|
||||
|
||||
1.0.0-beta4 (2010-02-04)
|
||||
------------------------------------------------------------------------
|
||||
- Feature: Content mirroring support (r18994)
|
||||
- Feature: Show empty query after creating new group (instead of 'Group nnn') (r18981)
|
||||
- Feature: [NewGRF] NewGRF-settable rail type properties, increase number of possible rail types, per rail type speed limits (r18970, r18969)
|
||||
- Feature: [NewGRF] Allow layering of multiple groundsprites in spritelayouts of stations, houses and industrytiles; so hacks with zero-sized bounding boxes are no longer needed and no longer cause trouble (r18959)
|
||||
- Feature: [NoAI] Introduce GetBuildCost functions in several classes to get easier cost estimations before you start building (r18955)
|
||||
- Feature: [NoAI] Allow editing AI settings while an AI is running (r18953)
|
||||
- Feature: Make it possible to change newgame settings from within a game via the console (use setting_newgame instead of setting) [FS#2885] (r18943)
|
||||
- Feature: Add a setting to reduce/disable aircraft crashes [FS#2678] (r18942)
|
||||
- Feature: Make the crash position of aircraft a bit random by giving aircraft a chance to crash every tick they are breaking (r18940)
|
||||
- Change: [NoAI] Use the highest version of an AI that can load the AI data from a savegame instead of the exact same version [FS#3232] (r18944)
|
||||
- Fix: Off-by-one in the music playlist (song missing) [FS#3588] (r18997)
|
||||
- Fix: [NewGRF] industry var A5 (=high 8 bits of var A4) returned the high 8 bits of var A2. Same problem for 9B/9A/98 (r18988)
|
||||
- Fix: [NoAI] Make building long rails fail for AIs if there is an obstacle in the way (r18987)
|
||||
- Fix: Possible invalid memory access when merging companies [FS#3584] (r18978)
|
||||
- Fix: Estimating the cost of removing statues could clear the presence flag in the town (r18976)
|
||||
- Fix: CMD_BUILD_ROAD missed CMD_AUTO. Also do not access tiles anymore after clearing them; that fails either in test or exec run [FS#3578] (r18974)
|
||||
- Fix: Train acceleration for original acceleration model was not updated if the train's power changed (r18971)
|
||||
- Fix: Make sure the values of settings loaded from a savegame are valid (r18950)
|
||||
- Fix: After clicking move up/move down in the NewGRF/AI the selected item could be out of range [FS#1510] (r18948, r18947)
|
||||
- Fix: It was possible to change AI settings without changing to the custom difficulty level by using the query text window (r18946)
|
||||
- Fix: Remove the loading indicators as soon as a train crashes [FS#3575] (r18941)
|
||||
- Fix: [NewGRF] Industrylayout's special water tile check did not properly check for crossing north border of map (r18938)
|
||||
- Fix: [NewGRF] Value of variables 90 and 91 were not what NARS expects [FS#3551] (r18935)
|
||||
- Fix: [Windows] In some rare case a deadlock could happen when stopping sound driver (r18934, r18913, r18892)
|
||||
- Fix: [NoAI] Autoreplace is also valid for the default group (r18930)
|
||||
- Fix: Preserve some timetable related vehicle flags during autorenew/-replace [FS#3568] (r18929)
|
||||
- Fix: AIOrder::GetOrderDestination could return a non-waypoint tile when the waypoint was a multitile waypoint [NoAI] (r18924)
|
||||
- Fix: On bankruptcy the company value did include the loan and as such the value at which you bought the company was too low [FS#3561] (r18908)
|
||||
- Fix: Writing LZO-compressed savegames would produce invalid files and potentially overwrite memory (r18904)
|
||||
- Fix: [Windows] File locations for Windows were not documented correctly for all versions of Windows [FS#3562] (r18903)
|
||||
- Fix: Pressing cancel for the query windows of the world generation window caused the default to be set instead of no changes to the value [FS#3558] (r18896)
|
||||
- Fix: Avoid duplicate path separator when searching for PNG files which prevented tar-lookups (r18891)
|
||||
- Fix: [NewGRF] Perform bounds checking for all NewGRF data reads. Explicit length checks (which were not always correct) are no longer needed so these are removed to simplify code (r18884)
|
||||
- Fix: Aircraft can be send to an hangar when the target airport has one and when it can land, not only when it has a plane terminal (r18880)
|
||||
- Fix: [NewGRF] Crash when a NewGRF used var62 in an industry tile chain when the industry tile was part of an original industry (r18878)
|
||||
|
||||
|
||||
1.0.0-beta3 (2010-01-21)
|
||||
------------------------------------------------------------------------
|
||||
- Feature: Make building (long) roads work like building rail; build upon the first obstruction instead of failing totally [FS#3318] (r18803)
|
||||
|
47
config.lib
47
config.lib
@@ -11,7 +11,7 @@ log() {
|
||||
}
|
||||
|
||||
set_default() {
|
||||
released_version="1.0.0-beta3"
|
||||
released_version="1.0.0-RC2"
|
||||
|
||||
ignore_extra_parameters="0"
|
||||
# We set all kinds of defaults for params. Later on the user can override
|
||||
@@ -51,6 +51,7 @@ set_default() {
|
||||
enable_lto="0"
|
||||
enable_dedicated="0"
|
||||
enable_network="1"
|
||||
enable_ai="1"
|
||||
enable_static="1"
|
||||
enable_translator="0"
|
||||
enable_unicode="1"
|
||||
@@ -122,6 +123,7 @@ set_default() {
|
||||
enable_lto
|
||||
enable_dedicated
|
||||
enable_network
|
||||
enable_ai
|
||||
enable_static
|
||||
enable_translator
|
||||
enable_unicode
|
||||
@@ -274,8 +276,12 @@ detect_params() {
|
||||
--enable-ipo=*) enable_lto="$optarg";;
|
||||
--enable-dedicated) enable_dedicated="1";;
|
||||
--enable-dedicated=*) enable_dedicated="$optarg";;
|
||||
--enable-network) enable_network="2";;
|
||||
--enable-network=*) enable_network="$optarg";;
|
||||
--disable-network) enable_network="0";;
|
||||
--enable-ai) enable_ai="2";;
|
||||
--enable-ai=*) enable_ai="$optarg";;
|
||||
--disable-ai) enable_ai="0";;
|
||||
--disable-static) enable_static="0";;
|
||||
--enable-static) enable_static="2";;
|
||||
--enable-static=*) enable_static="$optarg";;
|
||||
@@ -712,6 +718,14 @@ check_params() {
|
||||
log 1 "checking network... disabled"
|
||||
fi
|
||||
|
||||
if [ "$enable_ai" != "0" ]; then
|
||||
log 1 "checking ai... found"
|
||||
SCRIPT_SRC_DIR="$ROOT_DIR/src/3rdparty/squirrel/include"
|
||||
else
|
||||
log 1 "checking ai... disabled"
|
||||
SCRIPT_SRC_DIR=""
|
||||
fi
|
||||
|
||||
if [ "$enable_translator" != "0" ]; then
|
||||
log 1 "checking translator... debug"
|
||||
# -t shows TODO items, normally they are muted
|
||||
@@ -727,15 +741,6 @@ check_params() {
|
||||
log 1 "checking assert... disabled"
|
||||
fi
|
||||
|
||||
SCRIPT_SRC_DIR="$ROOT_DIR/src/3rdparty/squirrel/include"
|
||||
if [ ! -d "$SCRIPT_SRC_DIR" ]; then
|
||||
log 1 "checking 3rdparty... NOT FOUND"
|
||||
log 1 "ERROR: please make sure you have src/3rdparty/squirrel"
|
||||
log 1 "ERROR: you can find the source at svn://svn.openttd.org/3rdparty/squirrel"
|
||||
exit 1
|
||||
fi
|
||||
log 1 "checking 3rdparty... found"
|
||||
|
||||
pre_detect_with_zlib=$with_zlib
|
||||
detect_zlib
|
||||
|
||||
@@ -1013,7 +1018,7 @@ check_params() {
|
||||
fi
|
||||
|
||||
if [ "$personal_dir" = "1" ]; then
|
||||
if [ "$os" = "MINGW" ] || [ "$os" = "CYGWIN" ] || [ "$os" = "WINCE" ] || [ "$os" = "DOS" ]; then
|
||||
if [ "$os" = "MINGW" ] || [ "$os" = "CYGWIN" ] || [ "$os" = "WINCE" ] || [ "$os" = "DOS" ] || [ "$os" = "HAIKU" ]; then
|
||||
personal_dir="OpenTTD"
|
||||
elif [ "$os" = "OSX" ]; then
|
||||
personal_dir="Documents/OpenTTD"
|
||||
@@ -1145,8 +1150,8 @@ make_compiler_cflags() {
|
||||
# Enable some things only for certain GCC versions
|
||||
cc_version=`$1 -dumpversion | cut -c 1,3`
|
||||
|
||||
if [ $cc_version -lt 30 ]; then
|
||||
log 1 "configure: error: gcc older than 3.0 can't compile OpenTTD because of its poor template support"
|
||||
if [ $cc_version -lt 33 ]; then
|
||||
log 1 "configure: error: gcc older than 3.3 can't compile OpenTTD because of its poor template support"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -1428,7 +1433,9 @@ make_cflags_and_ldflags() {
|
||||
if [ "$cpu_type" = "64" ] && [ "$enable_universal" = "0" ]; then
|
||||
CFLAGS="$CFLAGS -D_SQ64"
|
||||
fi
|
||||
CFLAGS="$CFLAGS -I$SCRIPT_SRC_DIR"
|
||||
if [ "$enable_ai" != "0" ]; then
|
||||
CFLAGS="$CFLAGS -I$SCRIPT_SRC_DIR -DENABLE_AI"
|
||||
fi
|
||||
|
||||
if [ -n "$png_config" ]; then
|
||||
CFLAGS="$CFLAGS -DWITH_PNG"
|
||||
@@ -1642,7 +1649,7 @@ check_compiler() {
|
||||
fi
|
||||
machine=`eval $compiler $9 2>/dev/null`
|
||||
ret=$?
|
||||
eval "$2=$compiler"
|
||||
eval "$2=\"$compiler\""
|
||||
|
||||
log 2 "executing $compiler $9"
|
||||
log 2 " returned $machine"
|
||||
@@ -1663,7 +1670,7 @@ check_compiler() {
|
||||
# Check for manual compiler
|
||||
machine=`$4 $9 2>/dev/null`
|
||||
ret=$?
|
||||
eval "$2=$4"
|
||||
eval "$2=\"$4\""
|
||||
|
||||
log 2 "executing $4 $9"
|
||||
log 2 " returned $machine"
|
||||
@@ -1680,7 +1687,7 @@ check_compiler() {
|
||||
if [ -n "$5" ]; then
|
||||
machine=`$5 $9 2>/dev/null`
|
||||
ret=$?
|
||||
eval "$2=$5"
|
||||
eval "$2=\"$5\""
|
||||
|
||||
log 2 "executing $5 $9"
|
||||
log 2 " returned $machine"
|
||||
@@ -1699,7 +1706,7 @@ check_compiler() {
|
||||
# No $5, so try '$6'
|
||||
machine=`$6 $9 2>/dev/null`
|
||||
ret=$?
|
||||
eval "$2=$6"
|
||||
eval "$2=\"$6\""
|
||||
|
||||
log 2 "executing $6 $9"
|
||||
log 2 " returned $machine"
|
||||
@@ -1709,7 +1716,7 @@ check_compiler() {
|
||||
# Maybe '$7'?
|
||||
machine=`$7 $9 2>/dev/null`
|
||||
ret=$?
|
||||
eval "$2=$7"
|
||||
eval "$2=\"$7\""
|
||||
|
||||
log 2 "executing $7 $9"
|
||||
log 2 " returned $machine"
|
||||
@@ -3165,6 +3172,8 @@ showhelp() {
|
||||
echo " --with-psp-config[=psp-config] enables psp-config support (PSP ONLY)"
|
||||
echo " --disable-builtin-depend disable use of builtin deps finder"
|
||||
echo " --with-makedepend[=makedepend] enables makedepend support"
|
||||
echo " --with-ccache enables ccache support"
|
||||
echo " --with-distcc enables distcc support"
|
||||
echo ""
|
||||
echo "Some influential environment variables:"
|
||||
echo " CC C compiler command"
|
||||
|
1
configure
vendored
1
configure
vendored
@@ -113,6 +113,7 @@ AWKCOMMAND='
|
||||
if ($0 == "OS2" && "'$os'" != "OS2") { next; }
|
||||
if ($0 == "PSP" && "'$os'" != "PSP") { next; }
|
||||
if ($0 == "DEDICATED" && "'$enable_dedicated'" != "1") { next; }
|
||||
if ($0 == "AI" && "'$enable_ai'" == "0") { next; }
|
||||
if ($0 == "COCOA" && "'$with_cocoa'" == "0") { next; }
|
||||
if ($0 == "DOS" && "'$os'" != "DOS") { next; }
|
||||
if ($0 == "BEOS" && "'$os'" != "BEOS" &&
|
||||
|
@@ -91,7 +91,7 @@ the array so you can quickly see what is used and what is not.
|
||||
<td class="bits">XXXX XXXX</td>
|
||||
<td class="bits"><span class="option">~~~</span>X XXXX</td>
|
||||
<td class="bits"><span class="free">OOOO</span> XXXX <span class="free">OOOO OOOO</span></td>
|
||||
<td class="bits"><span class="free">OOOO</span> <span class="option">~~</span>XX</td>
|
||||
<td class="bits"><span class="free">OOOO</span> XXXX</td>
|
||||
<td class="bits"><span class="free">OOOO</span> XXXX</td>
|
||||
<td class="bits">XXXX XXXX</td>
|
||||
<td class="bits">XX<span class="free">OO OO</span>XX</td>
|
||||
@@ -102,7 +102,7 @@ the array so you can quickly see what is used and what is not.
|
||||
<td class="bits">-inherit-</td>
|
||||
<td class="bits">-inherit-</td>
|
||||
<td class="bits"><span class="free">OOOO</span> XXXX XXXX XXXX</td>
|
||||
<td class="bits">XXXX <span class="option">~~</span>XX</td>
|
||||
<td class="bits">XXXX XXXX</td>
|
||||
<td class="bits">XXXX XXXX</td>
|
||||
<td class="bits">-inherit-</td>
|
||||
<td class="bits">XX<span class="free">OO OO</span>XX</td>
|
||||
@@ -113,7 +113,7 @@ the array so you can quickly see what is used and what is not.
|
||||
<td class="bits">-inherit-</td>
|
||||
<td class="bits">-inherit-</td>
|
||||
<td class="bits">XXXX XXXX XXXX XXXX</td>
|
||||
<td class="bits"><span class="free">OOOO</span> <span class="option">~~</span>XX</td>
|
||||
<td class="bits"><span class="free">OOOO</span> XXXX</td>
|
||||
<td class="bits"><span class="free">OOOO</span> XXXX</td>
|
||||
<td class="bits">XX<span class="free">O</span>X <span class="free">O</span>XXX</td>
|
||||
<td class="bits">XX<span class="free">OO OO</span>XX</td>
|
||||
@@ -136,7 +136,7 @@ the array so you can quickly see what is used and what is not.
|
||||
<td class="bits">-inherit-</td>
|
||||
<td class="bits">-inherit-</td>
|
||||
<td class="bits">-inherit-</td>
|
||||
<td class="bits">XXXX <span class="option">~~</span>XX</td>
|
||||
<td class="bits">XXXX XXXX</td>
|
||||
<td class="bits">-inherit-</td>
|
||||
<td class="bits">XXXX<span class="free"> OOO</span>X</td>
|
||||
<td class="bits">XXXX X<span class="free">O</span>XX</td>
|
||||
@@ -146,7 +146,7 @@ the array so you can quickly see what is used and what is not.
|
||||
<td class="caption">road depot</td>
|
||||
<td class="bits">-inherit-</td>
|
||||
<td class="bits">-inherit-</td>
|
||||
<td class="bits">XXXX XXXX XXXX XXXX</td>
|
||||
<td class="bits">-inherit-</td>
|
||||
<td class="bits"><span class="free">OOOO OOOO</span></td>
|
||||
<td class="bits"><span class="free">OOOO OOOO</span></td>
|
||||
<td class="bits">XX<span class="free">OO OO</span>XX</td>
|
||||
@@ -183,7 +183,7 @@ the array so you can quickly see what is used and what is not.
|
||||
<td class="bits">XXXX XXXX</td>
|
||||
<td class="bits"><span class="option">~~~</span>X XXXX</td>
|
||||
<td class="bits">XXXX XXXX XXXX XXXX</td>
|
||||
<td class="bits">XXXX <span class="option">~~</span>XX</td>
|
||||
<td class="bits">XXXX XXXX</td>
|
||||
<td class="bits">XXXX XXXX</td>
|
||||
<td class="bits">XXXX XXXX</td>
|
||||
<td class="bits"><span class="free">OO</span>XX XXXX</td>
|
||||
@@ -206,7 +206,7 @@ the array so you can quickly see what is used and what is not.
|
||||
<td class="bits">-inherit-</td>
|
||||
<td class="bits">-inherit-</td>
|
||||
<td class="bits">XXXX <span class="free">OOOO</span></td>
|
||||
<td class="bits"><span class="option">~~~~ ~~~~</span></td>
|
||||
<td class="bits"><span class="free">OOOO OOOO</span></td>
|
||||
<td class="bits"><span class="option">~~~~ ~</span>XXX</td>
|
||||
<td class="bits"><span class="free">OO</span>XX XXXX</td>
|
||||
<td class="bits">XX<span class="free">O</span>X XXXX</td>
|
||||
@@ -217,7 +217,7 @@ the array so you can quickly see what is used and what is not.
|
||||
<td class="bits">-inherit-</td>
|
||||
<td class="bits">-inherit-</td>
|
||||
<td class="bits"><span class="free">OOOO OO</span>XX</td>
|
||||
<td class="bits"><span class="option">~~~~ ~~~~</span></td>
|
||||
<td class="bits"><span class="free">OOOO OOOO</span></td>
|
||||
<td class="bits"><span class="option">~~~~ ~</span>XXX</td>
|
||||
<td class="bits"><span class="free">OO</span>XX X<span class="free">O</span>XX</td>
|
||||
<td class="bits"><span class="free">OOOO OOOO</span></td>
|
||||
@@ -228,7 +228,7 @@ the array so you can quickly see what is used and what is not.
|
||||
<td class="bits">-inherit-</td>
|
||||
<td class="bits">-inherit-</td>
|
||||
<td class="bits"><span class="free">OOOO OOOO</span></td>
|
||||
<td class="bits"><span class="option">~~~~ ~~~~</span></td>
|
||||
<td class="bits"><span class="free">OOOO OOOO</span></td>
|
||||
<td class="bits">XXXX XXXX</td>
|
||||
<td class="bits"><span class="free">OO</span>XX X<span class="free">O</span>XX</td>
|
||||
<td class="bits"><span class="free">OOOO OOOO</span></td>
|
||||
@@ -239,7 +239,7 @@ the array so you can quickly see what is used and what is not.
|
||||
<td class="bits">-inherit-</td>
|
||||
<td class="bits">-inherit-</td>
|
||||
<td class="bits"><span class="free">OOOO OO</span>XX</td>
|
||||
<td class="bits"><span class="option">~~~~ ~~~~</span></td>
|
||||
<td class="bits"><span class="free">OOOO OOOO</span></td>
|
||||
<td class="bits"><span class="option">~~~~ ~~~~</span></td>
|
||||
<td class="bits"><span class="free">OO</span>XX X<span class="free">O</span>XX</td>
|
||||
<td class="bits"><span class="free">OOOO OOOO</span></td>
|
||||
@@ -250,7 +250,7 @@ the array so you can quickly see what is used and what is not.
|
||||
<td class="bits">-inherit-</td>
|
||||
<td class="bits">-inherit-</td>
|
||||
<td class="bits"><span class="free">OOOO OOOO</span></td>
|
||||
<td class="bits"><span class="option">~~~~ ~~~~</span></td>
|
||||
<td class="bits"><span class="free">OOOO OOOO</span></td>
|
||||
<td class="bits"><span class="option">~~~~ ~~~~</span></td>
|
||||
<td class="bits"><span class="free">OO</span>XX X<span class="free">O</span>XX</td>
|
||||
<td class="bits"><span class="free">OOOO OOOO</span></td>
|
||||
@@ -308,7 +308,7 @@ the array so you can quickly see what is used and what is not.
|
||||
<td class="bits">XXXX XXXX</td>
|
||||
<td class="bits"><span class="option">~~~</span>X XXXX</td>
|
||||
<td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td>
|
||||
<td class="bits">XXXX <span class="option">~~</span>XX</td>
|
||||
<td class="bits">XXXX XXXX</td>
|
||||
<td class="bits"><span class="free">OOOO OOOO</span></td>
|
||||
<td class="bits">X<span class="free">OO</span>X XXXX</td>
|
||||
<td class="bits">XX<span class="free">OO OO</span>XX</td>
|
||||
|
@@ -8,7 +8,6 @@
|
||||
.Sh SYNOPSIS
|
||||
.Nm
|
||||
.Op Fl efhx
|
||||
.Op Fl a Ar ai
|
||||
.Op Fl b Ar blitter
|
||||
.Op Fl c Ar config_file
|
||||
.Op Fl d Ar [level | cat=lvl[,...]]
|
||||
@@ -30,10 +29,6 @@
|
||||
.Op Fl v Ar driver
|
||||
.Sh OPTIONS
|
||||
.Bl -tag -width ".Fl n Ar host[:port][#player]"
|
||||
.It Fl a Ar ai
|
||||
Set the AI, see
|
||||
.Fl h
|
||||
for a full list
|
||||
.It Fl b Ar blitter
|
||||
Set the blitter, see
|
||||
.Fl h
|
||||
|
@@ -1,6 +1,6 @@
|
||||
OpenTTD's known bugs
|
||||
Last updated: 2010-01-21
|
||||
Release version: 1.0.0-beta3
|
||||
Last updated: 2010-03-04
|
||||
Release version: 1.0.0-RC2
|
||||
------------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -34,12 +34,14 @@ that you can find at: http://bugs.openttd.org
|
||||
If the bugs are closed but still listed here it means that the bug is fixed
|
||||
and that the nightlies and next major release will not have that bug.
|
||||
|
||||
- 3651 [OSX] Crash when selecting full screen
|
||||
- 3648 [OSX] Crash when selecting music
|
||||
- 3637 Second highest competing station gets penalised twice
|
||||
- 3546 Ignoring signals might crash trains
|
||||
- 3447 [OSX] SDL port is unuseable
|
||||
- 3194 [OSX] Full screen strobing/flickering
|
||||
- 2782 [OSX] Port hopelessly outdated
|
||||
- 2585 [OSX] OS' mouse pointer showing
|
||||
- 2484 [OSX] Cannot enter CJK characters
|
||||
- 1140 [OSX] Not smooth moving map with touchpad
|
||||
|
||||
|
||||
3) Known bugs that will not be solved:
|
||||
@@ -144,7 +146,7 @@ Extreme CPU usage/hangs when using SDL and PulseAudio [FS#3294]
|
||||
use of interrupt-based scheduling may resolve sound problems for
|
||||
some users. Under recent versions of Ubuntu Linux (9.04 and higher)
|
||||
this can be accomplished by changing the following line in the
|
||||
/etc/pulsa/default.pa file:
|
||||
/etc/pulse/default.pa file:
|
||||
load-module module-udev-detect
|
||||
to
|
||||
load-module module-udev-detect tsched=0
|
||||
|
@@ -1,15 +1,13 @@
|
||||
openttd for Debian
|
||||
OpenTTD for Debian
|
||||
------------------
|
||||
|
||||
To properly play this game, original data files are needed.
|
||||
You should copy the data files from the original TTD into the data directory
|
||||
(/usr/share/games/openttd/data). You should copy these files:
|
||||
* trg1r.grf
|
||||
* trgcr.grf
|
||||
* trghr.grf
|
||||
* trgir.grf
|
||||
* trgtr.grf
|
||||
* sample.cat
|
||||
To properly play this game, you need a base graphics and sound set.
|
||||
Currently, the graphics files from the original Transport Tycoon Deluxe
|
||||
game (Windows and DOS versions) are supported, as well as the free
|
||||
graphics replacement set "OpenGFX".
|
||||
|
||||
See readme.txt, section 4.1 for instructions on how to install these
|
||||
files.
|
||||
|
||||
-Music
|
||||
For in game music (optional), you should copy all files in the gm/
|
||||
@@ -19,13 +17,15 @@ You should copy the data files from the original TTD into the data directory
|
||||
|
||||
Don't forget to use -m extmidi if you want music, and if you have
|
||||
problems, remember that not all audio devices support multiple
|
||||
audiostreams (music and sound), so you might have to use software
|
||||
mixing. My VIA AC97 device cannot do hardware mixing, for example.
|
||||
audiostreams (music and sound), so you might have to use alsa
|
||||
software mixing or pulseaudio.
|
||||
|
||||
-Scenarios
|
||||
There are no scenarios included in this release. Scenarios can be
|
||||
downloaded separately from the OpenTTD website and all over the
|
||||
internet. Place scenarios in your ~/.openttd/scenario directory to
|
||||
use them.
|
||||
downloaded using openttd's content service, which is available from
|
||||
openttd's main menu. If you have obtained a scenario through other
|
||||
means, you can place it either in your ~/.openttd/scenario directory
|
||||
or in the system-wide /usr/share/games/openttd/scenario directory.
|
||||
|
||||
-- Matthijs Kooijman <matthijs@stdin.nl> Mon, 01 Feb 2010 10:42:11 +0100
|
||||
|
||||
-- Matthijs Kooijman <matthijs@stdin.nl>, Tue, 25 Jan 2004 14:11:01 +0200
|
||||
|
@@ -1,3 +1,21 @@
|
||||
openttd (1.0.0~RC2) unstable; urgency=low
|
||||
|
||||
* New upstream release.
|
||||
|
||||
-- Matthijs Kooijman <matthijs@stdin.nl> Thu, 04 Mar 2010 00:01:02 +0100
|
||||
|
||||
openttd (1.0.0~RC1) unstable; urgency=low
|
||||
|
||||
* New upstream release.
|
||||
|
||||
-- Matthijs Kooijman <matthijs@stdin.nl> Thu, 18 Feb 2010 00:01:02 +0100
|
||||
|
||||
openttd (1.0.0~beta4) unstable; urgency=low
|
||||
|
||||
* New upstream release.
|
||||
|
||||
-- Matthijs Kooijman <matthijs@stdin.nl> Thu, 04 Feb 2010 18:36:02 +0100
|
||||
|
||||
openttd (1.0.0~beta3) unstable; urgency=low
|
||||
|
||||
* New upstream release.
|
||||
|
@@ -1 +1 @@
|
||||
4
|
||||
7
|
||||
|
@@ -1,21 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Source debconf library.
|
||||
. /usr/share/debconf/confmodule
|
||||
|
||||
FILES="trg1r.grf trgcr.grf trghr.grf trgir.grf trgtr.grf sample.cat"
|
||||
DATADIR=/usr/share/games/openttd/data
|
||||
|
||||
MISSING="No"
|
||||
for FILE in $FILES; do
|
||||
# Check if all the files needed are here.
|
||||
if [ ! -e $DATADIR/$FILE ]; then
|
||||
MISSING="Yes"
|
||||
break
|
||||
fi;
|
||||
done
|
||||
|
||||
if [ $MISSING = "Yes" ]; then
|
||||
db_input high openttd/datafiles || true
|
||||
db_go
|
||||
fi
|
@@ -3,15 +3,17 @@ Section: contrib/games
|
||||
Priority: optional
|
||||
Maintainer: Matthijs Kooijman <matthijs@stdin.nl>
|
||||
Uploaders: Jordi Mallach <jordi@debian.org>
|
||||
Build-Depends: debhelper (>= 4.0.0), libsdl-dev, zlib1g-dev, libpng-dev, libfreetype6-dev, libfontconfig-dev, liblzo2-dev
|
||||
Standards-Version: 3.7.3
|
||||
Vcs-Browser: http://svn.debian.org/wsvn/collab-maint/deb-maint/openttd/trunk/
|
||||
Vcs-Svn: svn://svn.debian.org/svn/collab-maint/deb-maint/openttd/trunk
|
||||
Build-Depends: debhelper (>= 7.0.50), libsdl-dev, zlib1g-dev, libpng-dev, libfreetype6-dev, libfontconfig-dev, liblzo2-dev, libicu-dev
|
||||
Standards-Version: 3.8.4
|
||||
Vcs-Browser: http://git.debian.org/?p=collab-maint/openttd.git
|
||||
Vcs-Git: git://git.debian.org/collab-maint/openttd.git
|
||||
Homepage: http://www.openttd.org/
|
||||
|
||||
Package: openttd
|
||||
Architecture: any
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}
|
||||
Replaces: openttd-data
|
||||
Conflicts: openttd-data
|
||||
Suggests: timidity, freepats
|
||||
Description: reimplementation of Transport Tycoon Deluxe with enhancements
|
||||
OpenTTD is a reimplementation of the Microprose game "Transport
|
||||
|
@@ -1,25 +1,61 @@
|
||||
This package was debianized by Matthijs Kooijman <m.kooijman@student.utwente.nl>
|
||||
This package was debianized by Matthijs Kooijman <matthijs@stdin.nl>
|
||||
on Wed, 15 Sep 2004 00:24:01 +0200.
|
||||
|
||||
It was downloaded from http://sourceforge.net/projects/openttd
|
||||
This package is not part of the main Debian GNU/Linux distribution, but
|
||||
uploaded to the contrib section. This is because the openttd program is
|
||||
non-functional by itself, it needs (non-free) graphical and sound
|
||||
resources from the Transport Tycoon Deluxe game to work.
|
||||
|
||||
Upstream author: Ludvig Strigeus (ludde) and many others.
|
||||
Upstream homepage: http://www.openttd.org
|
||||
|
||||
License:
|
||||
Copyright © 2004-2009 Ludvig Strigeous and others.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
OpenTTD License:
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License version 2.0 as
|
||||
published by the Free Software Foundation;
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this package; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
On Debian systems, the complete text of the GNU General
|
||||
Public License can be found in `/usr/share/common-licenses/GPL'.
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this package; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
On Debian systems, the complete text of the GNU General Public License
|
||||
version 2 can be found in `/usr/share/common-licenses/GPL-2'.
|
||||
|
||||
This package contains an embedded version of the "Squirrel" programming
|
||||
language, which is shipped under the following license:
|
||||
|
||||
Copyright (c) 2003-2009 Alberto Demichelis
|
||||
|
||||
This software is provided 'as-is', without any
|
||||
express or implied warranty. In no event will the
|
||||
authors be held liable for any damages arising from
|
||||
the use of this software.
|
||||
|
||||
Permission is granted to anyone to use this software
|
||||
for any purpose, including commercial applications,
|
||||
and to alter it and redistribute it freely, subject
|
||||
to the following restrictions:
|
||||
|
||||
1. The origin of this software must not be
|
||||
misrepresented; you must not claim that
|
||||
you wrote the original software. If you
|
||||
use this software in a product, an
|
||||
acknowledgment in the product
|
||||
documentation would be appreciated but is
|
||||
not required.
|
||||
|
||||
2. Altered source versions must be plainly
|
||||
marked as such, and must not be
|
||||
misrepresented as being the original
|
||||
software.
|
||||
|
||||
3. This notice may not be removed or
|
||||
altered from any source distribution.
|
||||
|
@@ -1,2 +0,0 @@
|
||||
readme.txt
|
||||
docs/multiplayer.txt
|
@@ -1,2 +1,2 @@
|
||||
?package(openttd):needs="X11" section="Games/Simulation" title="OpenTTD"\
|
||||
command="/usr/games/openttd" icon="/usr/share/pixmaps/openttd.32.xpm"
|
||||
command="/usr/share/games/openttd/openttd-wrapper" icon="/usr/share/pixmaps/openttd.32.xpm"
|
||||
|
26
os/debian/openttd-wrapper
Normal file
26
os/debian/openttd-wrapper
Normal file
@@ -0,0 +1,26 @@
|
||||
#!/bin/sh
|
||||
# This is a wrapper script that checks openttd's exit status and
|
||||
# displays its stderr output
|
||||
|
||||
# Get a file to capture stderr to
|
||||
TMPFILE=`mktemp --tmpdir openttd.errout.XXXXXXXXX`
|
||||
|
||||
if [ ! -w "$TMPFILE" ]; then
|
||||
xmessage "Could not create temporary file for error messages. Not starting OpenTTD."
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
# Capture stderr
|
||||
openttd "$@" 2> "$TMPFILE"
|
||||
ERRCODE=$?
|
||||
if [ "$ERRCODE" -ne 0 ]; then
|
||||
CODEMSG="OpenTTD returned with error code $ERRCODE."
|
||||
if [ -s "$TMPFILE" ]; then
|
||||
MESSAGE="$CODEMSG The following error messages were produced:\n\n"
|
||||
printf "$MESSAGE" | cat - "$TMPFILE" | fold -s | xmessage -file -
|
||||
else
|
||||
xmessage "$CODEMSG No error messages were produced."
|
||||
fi
|
||||
fi
|
||||
|
||||
rm -f "$TMPFILE"
|
@@ -1 +0,0 @@
|
||||
[type: gettext/rfc822deb] templates
|
@@ -1,40 +0,0 @@
|
||||
# Catalan translation of openttd's Debconf templates.
|
||||
# Copyright © 2007 Software in the Public Interest, Inc.
|
||||
# This file is distributed under the same license as the openttd package.
|
||||
# Jordi Mallach <jordi@debian.org>, 2007.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openttd 0.5.2-1\n"
|
||||
"Report-Msgid-Bugs-To: m.kooijman@student.utwente.nl\n"
|
||||
"POT-Creation-Date: 2007-05-08 09:39+0200\n"
|
||||
"PO-Revision-Date: 2007-06-01 00:45+0200\n"
|
||||
"Last-Translator: Jordi Mallach <jordi@debian.org>\n"
|
||||
"Language-Team: Catalan <debian-l10n-catalan@lists.debian.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#. Type: error
|
||||
#. Description
|
||||
#: ../templates:2001
|
||||
msgid "Data files needed"
|
||||
msgstr "Es necessiten els fitxers de dades"
|
||||
|
||||
#. Type: error
|
||||
#. Description
|
||||
#: ../templates:2001
|
||||
msgid ""
|
||||
"For its operation, OpenTTD needs the data files from the original Transport "
|
||||
"Tycoon Deluxe game."
|
||||
msgstr ""
|
||||
"Per a funcionar, OpenTTD necessita els fitxers de dades del joc "
|
||||
"Transport Tycoon Deluxe original."
|
||||
|
||||
#. Type: error
|
||||
#. Description
|
||||
#: ../templates:2001
|
||||
msgid ""
|
||||
"See the /usr/share/doc/openttd/README.Debian file for more details about the "
|
||||
"needed files and their location."
|
||||
msgstr "Vegeu el fitxer /usr/share/doc/openttd/README.Debian per a obtenir-ne més detalls sobre els fitxers necessaris i la seua ubicació."
|
@@ -1,42 +0,0 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openttd\n"
|
||||
"Report-Msgid-Bugs-To: m.kooijman@student.utwente.nl\n"
|
||||
"POT-Creation-Date: 2007-05-08 09:39+0200\n"
|
||||
"PO-Revision-Date: 2007-05-08 10:52+0200\n"
|
||||
"Last-Translator: Miroslav Kure <kurem@debian.cz>\n"
|
||||
"Language-Team: Czech <debian-l10n-czech@lists.debian.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#. Type: error
|
||||
#. Description
|
||||
#: ../templates:2001
|
||||
msgid "Data files needed"
|
||||
msgstr "Vyžadovány datové soubory"
|
||||
|
||||
#. Type: error
|
||||
#. Description
|
||||
#: ../templates:2001
|
||||
msgid ""
|
||||
"For its operation, OpenTTD needs the data files from the original Transport "
|
||||
"Tycoon Deluxe game."
|
||||
msgstr ""
|
||||
"Pro svůj běh vyžaduje OpenTTD datové soubory z původní hry Transport Tycoon "
|
||||
"Deluxe."
|
||||
|
||||
#. Type: error
|
||||
#. Description
|
||||
#: ../templates:2001
|
||||
msgid ""
|
||||
"See the /usr/share/doc/openttd/README.Debian file for more details about the "
|
||||
"needed files and their location."
|
||||
msgstr ""
|
||||
"Podrobnosti o vyžadovaných souborech a jejich umístění naleznete v souboru /"
|
||||
"usr/share/doc/openttd/README.Debian."
|
@@ -1,55 +0,0 @@
|
||||
# Translation of openttd debconf templates to German
|
||||
# Copyright (C) Helge Kreutzmann <debian@helgefjell.de>, 2007.
|
||||
# This file is distributed under the same license as the openttd package.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openttd 0.5.0-2\n"
|
||||
"Report-Msgid-Bugs-To: m.kooijman@student.utwente.nl\n"
|
||||
"POT-Creation-Date: 2007-05-08 09:39+0200\n"
|
||||
"PO-Revision-Date: 2007-05-08 21:21+0200\n"
|
||||
"Last-Translator: Helge Kreutzmann <debian@helgefjell.de>\n"
|
||||
"Language-Team: German <debian-l10n-german@lists.debian.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=ISO-8859-15\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#. Type: error
|
||||
#. Description
|
||||
#: ../templates:2001
|
||||
msgid "Data files needed"
|
||||
msgstr "Ben<65>tigte Datendateien"
|
||||
|
||||
#. Type: error
|
||||
#. Description
|
||||
#: ../templates:2001
|
||||
msgid ""
|
||||
"For its operation, OpenTTD needs the data files from the original Transport "
|
||||
"Tycoon Deluxe game."
|
||||
msgstr ""
|
||||
"Zum Betrieb ben<65>tigt OpenTTD Datendateien aus dem Originalspiel Transport "
|
||||
"Tycoon Deluxe."
|
||||
|
||||
#. Type: error
|
||||
#. Description
|
||||
#: ../templates:2001
|
||||
msgid ""
|
||||
"See the /usr/share/doc/openttd/README.Debian file for more details about the "
|
||||
"needed files and their location."
|
||||
msgstr ""
|
||||
"Lesen Sie die Datei /usr/share/doc/openttd/README.Debian f<>r weitere Details "
|
||||
"<22>ber die ben<65>tigten Dateien und ihren Ort."
|
||||
|
||||
#~ msgid "You need to install data files"
|
||||
#~ msgstr "Sie m<>ssen Daten-Dateien installieren"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "OpenTTD needs the data files from the original Transport Tycoon Deluxe "
|
||||
#~ "game to run. You should install these data files before you can play the "
|
||||
#~ "game. See README.Debian for more details on which files need to be copied "
|
||||
#~ "where."
|
||||
#~ msgstr ""
|
||||
#~ "OpenTTD ben<65>tigt zur Ausf<73>hrung Daten-Dateien aus dem Originalspiel "
|
||||
#~ "<22>Transport Tycoon Deluxe<78>. Sie sollten diese Daten-Dateien installieren, "
|
||||
#~ "bevor Sie das Spiel spielen k<>nnen. Lesen Sie README.Debian f<>r weitere "
|
||||
#~ "Details dar<61>ber, welche Dateien wohin kopiert werden m<>ssen."
|
@@ -1,42 +0,0 @@
|
||||
# OpenTTD debconf template basque translation
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# Piarres eobide <pi@beobide.net>, 2007.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenTTD Debconf\n"
|
||||
"Report-Msgid-Bugs-To: m.kooijman@student.utwente.nl\n"
|
||||
"POT-Creation-Date: 2007-05-08 09:39+0200\n"
|
||||
"PO-Revision-Date: 2007-05-08 09:55+0200\n"
|
||||
"Last-Translator: Piarres eobide <pi@beobide.net>\n"
|
||||
"Language-Team: Euskara <Librezale@librezale.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#. Type: error
|
||||
#. Description
|
||||
#: ../templates:2001
|
||||
msgid "Data files needed"
|
||||
msgstr "Datu fitxategiak behar dira"
|
||||
|
||||
#. Type: error
|
||||
#. Description
|
||||
#: ../templates:2001
|
||||
msgid ""
|
||||
"For its operation, OpenTTD needs the data files from the original Transport "
|
||||
"Tycoon Deluxe game."
|
||||
msgstr ""
|
||||
"Funtziona dezan, OpenTTD-ek jatorrizko 'Transport Tycoon Deluxe' jokoaren "
|
||||
"datu fitxategiak behar ditu."
|
||||
|
||||
#. Type: error
|
||||
#. Description
|
||||
#: ../templates:2001
|
||||
msgid ""
|
||||
"See the /usr/share/doc/openttd/README.Debian file for more details about the "
|
||||
"needed files and their location."
|
||||
msgstr ""
|
||||
"/usr/share/doc/openttd/README.Debian fitxategia begiratu beharrezko "
|
||||
"fitategien eta bere kokapenari buruz xehetasun gehiago ikusteko."
|
@@ -1,32 +0,0 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openttd_0.5.3-1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2007-09-19 04:33+0200\n"
|
||||
"PO-Revision-Date: 2007-12-18 20:01+0200\n"
|
||||
"Last-Translator: Esko Arajärvi <edu@iki.fi>\n"
|
||||
"Language-Team: Finnish <debian-l10n-finnish@lists.debian.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Poedit-Language: Finnish\n"
|
||||
"X-Poedit-Country: Finland\n"
|
||||
|
||||
#. Type: error
|
||||
#. Description
|
||||
#: ../templates:1001
|
||||
msgid "Data files needed"
|
||||
msgstr "Datatiedostoja puuttuu"
|
||||
|
||||
#. Type: error
|
||||
#. Description
|
||||
#: ../templates:1001
|
||||
msgid "For its operation, OpenTTD needs the data files from the original Transport Tycoon Deluxe game."
|
||||
msgstr "OpenTTD tarvitsee toimiakseen datatiedostoja alkuperäisestä Transport Tycoon Deluxe -pelistä."
|
||||
|
||||
#. Type: error
|
||||
#. Description
|
||||
#: ../templates:1001
|
||||
msgid "See the /usr/share/doc/openttd/README.Debian file for more details about the needed files and their location."
|
||||
msgstr "Tiedostossa /usr/share/doc/openttd/README.Debian on (englanniksi) lisätietoja tarvittavista tiedostoista ja niiden sijainnista."
|
||||
|
@@ -1,42 +0,0 @@
|
||||
# debian-l10n-french translation of 0.5.1-1.
|
||||
# Copyright (C) 2007 THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# Ivan Buresi <err747@free.fr>, 2007.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: 0.5.1-1\n"
|
||||
"Report-Msgid-Bugs-To: m.kooijman@student.utwente.nl\n"
|
||||
"POT-Creation-Date: 2007-05-08 09:39+0200\n"
|
||||
"PO-Revision-Date: 2007-05-08 11:41+0200\n"
|
||||
"Last-Translator: Ivan Buresi <err747@free.fr>\n"
|
||||
"Language-Team: debian-l10n-french <debian-l10n-french@lists.debian.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#. Type: error
|
||||
#. Description
|
||||
#: ../templates:2001
|
||||
msgid "Data files needed"
|
||||
msgstr "Fichiers de données indispensables"
|
||||
|
||||
#. Type: error
|
||||
#. Description
|
||||
#: ../templates:2001
|
||||
msgid ""
|
||||
"For its operation, OpenTTD needs the data files from the original Transport "
|
||||
"Tycoon Deluxe game."
|
||||
msgstr ""
|
||||
"Pour fonctionner correctement, OpenTTD a besoin des fichiers de données du "
|
||||
"jeu « Transport Tycoon Deluxe » original."
|
||||
|
||||
#. Type: error
|
||||
#. Description
|
||||
#: ../templates:2001
|
||||
msgid ""
|
||||
"See the /usr/share/doc/openttd/README.Debian file for more details about the "
|
||||
"needed files and their location."
|
||||
msgstr ""
|
||||
"Veuillez lire le fichier /usr/share/doc/openttd/README.Debian pour plus "
|
||||
"d'informations sur les fichiers requis et leur emplacement."
|
@@ -1,41 +0,0 @@
|
||||
# Galician translation of openttd's debconf templates
|
||||
# This file is distributed under the same license as the openttd package.
|
||||
# Jacobo Tarrio <jtarrio@debian.org>, 2007.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openttd\n"
|
||||
"Report-Msgid-Bugs-To: m.kooijman@student.utwente.nl\n"
|
||||
"POT-Creation-Date: 2007-05-08 09:39+0200\n"
|
||||
"PO-Revision-Date: 2007-05-08 13:12+0200\n"
|
||||
"Last-Translator: Jacobo Tarrio <jtarrio@debian.org>\n"
|
||||
"Language-Team: Galician <proxecto@trasno.net>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#. Type: error
|
||||
#. Description
|
||||
#: ../templates:2001
|
||||
msgid "Data files needed"
|
||||
msgstr "Precísase de ficheiros de datos"
|
||||
|
||||
#. Type: error
|
||||
#. Description
|
||||
#: ../templates:2001
|
||||
msgid ""
|
||||
"For its operation, OpenTTD needs the data files from the original Transport "
|
||||
"Tycoon Deluxe game."
|
||||
msgstr ""
|
||||
"Para o seu funcionamento, OpenTTD precisa dos ficheiros de datos do xogo "
|
||||
"Transport Tycoon Deluxe orixinal."
|
||||
|
||||
#. Type: error
|
||||
#. Description
|
||||
#: ../templates:2001
|
||||
msgid ""
|
||||
"See the /usr/share/doc/openttd/README.Debian file for more details about the "
|
||||
"needed files and their location."
|
||||
msgstr ""
|
||||
"Consulte o ficheiro /usr/share/doc/openttd/README.Debian para máis "
|
||||
"información sobre os ficheiros necesarios e as súas ubicacións."
|
@@ -1,43 +0,0 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openttd\n"
|
||||
"Report-Msgid-Bugs-To: m.kooijman@student.utwente.nl\n"
|
||||
"POT-Creation-Date: 2007-05-08 09:39+0200\n"
|
||||
"PO-Revision-Date: 2007-05-16 19:25+0100\n"
|
||||
"Last-Translator: Bart Cornelis <cobaco@skolelinux.no>\n"
|
||||
"Language-Team: debian-l10n-dutch <debian-l10n-dutch@lists.debian.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Poedit-Language: Dutch\n"
|
||||
|
||||
#. Type: error
|
||||
#. Description
|
||||
#: ../templates:2001
|
||||
msgid "Data files needed"
|
||||
msgstr "Databestanden zijn vereist"
|
||||
|
||||
#. Type: error
|
||||
#. Description
|
||||
#: ../templates:2001
|
||||
msgid ""
|
||||
"For its operation, OpenTTD needs the data files from the original Transport "
|
||||
"Tycoon Deluxe game."
|
||||
msgstr ""
|
||||
"Om te werken heeft OpenTTD de databestanden van het oorspronkelijkee "
|
||||
"'Transport Tycoon Deluxe'-spel nodig."
|
||||
|
||||
#. Type: error
|
||||
#. Description
|
||||
#: ../templates:2001
|
||||
msgid ""
|
||||
"See the /usr/share/doc/openttd/README.Debian file for more details about the "
|
||||
"needed files and their location."
|
||||
msgstr ""
|
||||
"Meer informatie over de vereiste bestanden en hun locatie vindt u in /usr/"
|
||||
"share/doc/openttd/README.Debian . "
|
@@ -1,42 +0,0 @@
|
||||
# Portuguese translation of openttd's debconf messages.
|
||||
# Copyright (C) 2007
|
||||
# This file is distributed under the same license as the openttd package.
|
||||
# Ricardo Silva <ardoric@gmail.com>, 2007
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openttd\n"
|
||||
"Report-Msgid-Bugs-To: m.kooijman@student.utwente.nl\n"
|
||||
"POT-Creation-Date: 2007-05-08 09:39+0200\n"
|
||||
"PO-Revision-Date: 2007-05-09 09:37+0100\n"
|
||||
"Last-Translator: Ricardo Silva <ardoric@gmail.com>\n"
|
||||
"Language-Team: Portuguese <traduz@debianpt.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#. Type: error
|
||||
#. Description
|
||||
#: ../templates:2001
|
||||
msgid "Data files needed"
|
||||
msgstr "São necessários ficheiros de dados"
|
||||
|
||||
#. Type: error
|
||||
#. Description
|
||||
#: ../templates:2001
|
||||
msgid ""
|
||||
"For its operation, OpenTTD needs the data files from the original Transport "
|
||||
"Tycoon Deluxe game."
|
||||
msgstr ""
|
||||
"Para esta operação o OpenTTD precisa dos ficheiros de dados do jogo original "
|
||||
"Transport Tycool Deluxe."
|
||||
|
||||
#. Type: error
|
||||
#. Description
|
||||
#: ../templates:2001
|
||||
msgid ""
|
||||
"See the /usr/share/doc/openttd/README.Debian file for more details about the "
|
||||
"needed files and their location."
|
||||
msgstr ""
|
||||
"Veja o ficheiro /usr/share/doc/openttd/README.Debian para mais detalhes "
|
||||
"sobre os ficheiros que são necessários e a sua localização."
|
@@ -1,43 +0,0 @@
|
||||
# openttd Brazilian Portuguese translation
|
||||
# Copyright (C) 2007, Eder L. Marques
|
||||
# This file is distributed under the same license as the openttd package.
|
||||
# Eder L. Marques <frolic@debian-ce.org>, 2007.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openttd 0.5.0-2\n"
|
||||
"Report-Msgid-Bugs-To: m.kooijman@student.utwente.nl\n"
|
||||
"POT-Creation-Date: 2007-05-08 09:39+0200\n"
|
||||
"PO-Revision-Date: 2007-05-08 11:00-0300\n"
|
||||
"Last-Translator: Eder L. Marques <frolic@debian-ce.org>\n"
|
||||
"Language-Team: l10n Portuguese <debian-l10n-portuguese@lists.debian.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"pt_BR utf-8\n"
|
||||
|
||||
#. Type: error
|
||||
#. Description
|
||||
#: ../templates:2001
|
||||
msgid "Data files needed"
|
||||
msgstr "Arquivos de dados necessários"
|
||||
|
||||
#. Type: error
|
||||
#. Description
|
||||
#: ../templates:2001
|
||||
msgid ""
|
||||
"For its operation, OpenTTD needs the data files from the original Transport "
|
||||
"Tycoon Deluxe game."
|
||||
msgstr ""
|
||||
"Para sua operação, o OpenTTD necessita dos arquivos de dados do jogo "
|
||||
"Transport Tycoon Deluxe original."
|
||||
|
||||
#. Type: error
|
||||
#. Description
|
||||
#: ../templates:2001
|
||||
msgid ""
|
||||
"See the /usr/share/doc/openttd/README.Debian file for more details about the "
|
||||
"needed files and their location."
|
||||
msgstr ""
|
||||
"Veja o arquivo /usr/share/doc/openttd/README.Debian para maiores detalhes "
|
||||
"sobre os arquivos necessários e suas localizações."
|
@@ -1,45 +0,0 @@
|
||||
# translation of openttd_debconf_ru.po to Russian
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Yuri Kozlov <kozlov.y@gmail.com>, 2007.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: 0.5.1-1\n"
|
||||
"Report-Msgid-Bugs-To: m.kooijman@student.utwente.nl\n"
|
||||
"POT-Creation-Date: 2007-05-08 09:39+0200\n"
|
||||
"PO-Revision-Date: 2007-05-10 21:45+0400\n"
|
||||
"Last-Translator: Yuri Kozlov <kozlov.y@gmail.com>\n"
|
||||
"Language-Team: Russian <debian-l10n-russian@lists.debian.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: KBabel 1.11.4\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
|
||||
"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
|
||||
#. Type: error
|
||||
#. Description
|
||||
#: ../templates:2001
|
||||
msgid "Data files needed"
|
||||
msgstr "Необходимы файлы данных"
|
||||
|
||||
#. Type: error
|
||||
#. Description
|
||||
#: ../templates:2001
|
||||
msgid ""
|
||||
"For its operation, OpenTTD needs the data files from the original Transport "
|
||||
"Tycoon Deluxe game."
|
||||
msgstr ""
|
||||
"Для работы OpenTTD требуются файлы данных от оригинальной игры Transport "
|
||||
"Tycoon Deluxe."
|
||||
|
||||
#. Type: error
|
||||
#. Description
|
||||
#: ../templates:2001
|
||||
msgid ""
|
||||
"See the /usr/share/doc/openttd/README.Debian file for more details about the "
|
||||
"needed files and their location."
|
||||
msgstr ""
|
||||
"В файле /usr/share/doc/openttd/README.Debian приведена информация о том, "
|
||||
"какие файлы нужны и где они лежат."
|
@@ -1,56 +0,0 @@
|
||||
# Swedish translation for openttd debconf template.
|
||||
# Copyright (C) 2007 Free Software Foundation, Inc.
|
||||
# This file is distributed under the same license as the openttd package.
|
||||
# Daniel Nylander <po@danielnylander.se>, 2007.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openttd\n"
|
||||
"Report-Msgid-Bugs-To: m.kooijman@student.utwente.nl\n"
|
||||
"POT-Creation-Date: 2007-05-08 09:39+0200\n"
|
||||
"PO-Revision-Date: 2007-05-08 09:47+0100\n"
|
||||
"Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
|
||||
"Language-Team: Swedish <debian-l10n-swedish@lists.debian.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#. Type: error
|
||||
#. Description
|
||||
#: ../templates:2001
|
||||
msgid "Data files needed"
|
||||
msgstr "Datafiler behövs"
|
||||
|
||||
#. Type: error
|
||||
#. Description
|
||||
#: ../templates:2001
|
||||
msgid ""
|
||||
"For its operation, OpenTTD needs the data files from the original Transport "
|
||||
"Tycoon Deluxe game."
|
||||
msgstr ""
|
||||
"För att fungera behöva OpenTTD datafilerna från det ursprungliga spelet "
|
||||
"Transport Tycoon Deluxe."
|
||||
|
||||
#. Type: error
|
||||
#. Description
|
||||
#: ../templates:2001
|
||||
msgid ""
|
||||
"See the /usr/share/doc/openttd/README.Debian file for more details about the "
|
||||
"needed files and their location."
|
||||
msgstr ""
|
||||
"Se filen /usr/share/doc/openttd/README.Debian för mer information om de "
|
||||
"nödvändiga filera och var de finns någonstans."
|
||||
|
||||
#~ msgid "You need to install data files"
|
||||
#~ msgstr "Du behöver installera datafilerna"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "OpenTTD needs the data files from the original Transport Tycoon Deluxe "
|
||||
#~ "game to run. You should install these data files before you can play the "
|
||||
#~ "game. See README.Debian for more details on which files need to be copied "
|
||||
#~ "where."
|
||||
#~ msgstr ""
|
||||
#~ "OpenTTD behöver datafilerna från det ursprungliga spelet Transport Tycoon "
|
||||
#~ "Deluxe för att kunna köras. Du måste installera dessa datafiler innan du "
|
||||
#~ "kan spela spelet. Se README.Debian för fler detaljer om vilka filer som "
|
||||
#~ "behöver kopieras."
|
@@ -1,43 +0,0 @@
|
||||
# translation of openttd.po to TAMIL
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Dr.T.Vasudevan <agnihot3@gmail.com>, 2007.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openttd\n"
|
||||
"Report-Msgid-Bugs-To: m.kooijman@student.utwente.nl\n"
|
||||
"POT-Creation-Date: 2007-05-08 09:39+0200\n"
|
||||
"PO-Revision-Date: 2007-05-08 15:04+0530\n"
|
||||
"Last-Translator: Dr.T.Vasudevan <agnihot3@gmail.com>\n"
|
||||
"Language-Team: TAMIL <ubuntu-l10n-tam@lists.ubuntu.com>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: KBabel 1.11.4\n"
|
||||
|
||||
#. Type: error
|
||||
#. Description
|
||||
#: ../templates:2001
|
||||
msgid "Data files needed"
|
||||
msgstr "தேவையான தரவு கோப்புகள்"
|
||||
|
||||
#. Type: error
|
||||
#. Description
|
||||
#: ../templates:2001
|
||||
msgid ""
|
||||
"For its operation, OpenTTD needs the data files from the original Transport "
|
||||
"Tycoon Deluxe game."
|
||||
msgstr ""
|
||||
"இயங்குவதற்கு ஓபன் டிடிடி(OpenTTD) க்கு ட்ரான்ஸ்போர்ட் டைகூன் டீலக்ஸ் விளையாட்டிலிருந்து "
|
||||
"தரவு கோப்புகள் தேவை."
|
||||
|
||||
#. Type: error
|
||||
#. Description
|
||||
#: ../templates:2001
|
||||
msgid ""
|
||||
"See the /usr/share/doc/openttd/README.Debian file for more details about the "
|
||||
"needed files and their location."
|
||||
msgstr ""
|
||||
"தேவையான கோப்புகள் அவற்றின் இடம் ஆகியவற்றை அறிய /usr/share/doc/openttd/README "
|
||||
"டெபியன் கோப்பை பார்க்கவும்."
|
@@ -1,39 +0,0 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: m.kooijman@student.utwente.nl\n"
|
||||
"POT-Creation-Date: 2007-05-08 09:39+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=CHARSET\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#. Type: error
|
||||
#. Description
|
||||
#: ../templates:2001
|
||||
msgid "Data files needed"
|
||||
msgstr ""
|
||||
|
||||
#. Type: error
|
||||
#. Description
|
||||
#: ../templates:2001
|
||||
msgid ""
|
||||
"For its operation, OpenTTD needs the data files from the original Transport "
|
||||
"Tycoon Deluxe game."
|
||||
msgstr ""
|
||||
|
||||
#. Type: error
|
||||
#. Description
|
||||
#: ../templates:2001
|
||||
msgid ""
|
||||
"See the /usr/share/doc/openttd/README.Debian file for more details about the "
|
||||
"needed files and their location."
|
||||
msgstr ""
|
@@ -1,8 +0,0 @@
|
||||
#! /bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
|
||||
. /usr/share/debconf/confmodule
|
||||
|
||||
#DEBHELPER#
|
111
os/debian/rules
111
os/debian/rules
@@ -1,88 +1,43 @@
|
||||
#!/usr/bin/make -f
|
||||
# -*- makefile -*-
|
||||
# Sample debian/rules that uses debhelper.
|
||||
# GNU copyright 1997 to 1999 by Joey Hess.
|
||||
# Makefile to build the openttd debian package.
|
||||
|
||||
# Uncomment this to turn on verbose mode.
|
||||
#export DH_VERBOSE=1
|
||||
# Use debhelper default for all targets (but some are overridden below).
|
||||
%:
|
||||
dh $@
|
||||
|
||||
configure: configure-stamp
|
||||
configure-stamp:
|
||||
dh_testdir
|
||||
# Add here commands to configure the package.
|
||||
DEB_HOST_GNU_TYPE=$(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
|
||||
DEB_BUILD_GNU_TYPE=$(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
|
||||
ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
|
||||
CROSS= --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
|
||||
endif
|
||||
|
||||
touch configure-stamp
|
||||
# Pass custom options to configure. Since it's not autoconf but a custom
|
||||
# script, some of the option names are slightly different. We also need
|
||||
# to be explicit about the dependencies, in case we're not running in a
|
||||
# clean build root.
|
||||
override_dh_auto_configure:
|
||||
./configure $(CROSS) --prefix-dir=/usr --install-dir=debian/openttd --without-allegro --with-zlib --with-lzo2 --with-sdl --with-png --with-freetype --with-fontconfig --with-icu
|
||||
|
||||
|
||||
build: configure build-stamp
|
||||
build-stamp:
|
||||
dh_testdir
|
||||
|
||||
# Add here commands to compile the package.
|
||||
|
||||
./configure --prefix-dir=/usr --binary-dir=games --data-dir=share/games/openttd --icon-dir=share/pixmaps --personal-dir=.openttd --install-dir=debian/openttd
|
||||
$(MAKE)
|
||||
|
||||
#/usr/bin/docbook-to-man debian/openttd.sgml > openttd.1
|
||||
|
||||
touch build-stamp
|
||||
|
||||
clean:
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
rm -f build-stamp configure-stamp
|
||||
|
||||
# Add here commands to clean up after the build process.
|
||||
# We check for Makefile presence, because clean is called at the
|
||||
# start of the build process (before configure) where we don't
|
||||
# have a Makefile yet.
|
||||
[ ! -f Makefile ] || $(MAKE) mrproper
|
||||
|
||||
dh_clean
|
||||
|
||||
install: build
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
dh_clean -k
|
||||
dh_installdirs
|
||||
|
||||
# Add here commands to install the package into debian/openttd.
|
||||
# Do some extra installation
|
||||
override_dh_auto_install:
|
||||
$(MAKE) install
|
||||
|
||||
# Build architecture-independent files here.
|
||||
binary-indep: build install
|
||||
# We have nothing to do by default.
|
||||
# Install the wrapper and make it executable
|
||||
install -d debian/openttd/usr/share/games/openttd/
|
||||
install -m755 debian/openttd-wrapper debian/openttd/usr/share/games/openttd/
|
||||
|
||||
# Build architecture-dependent files here.
|
||||
binary-arch: build install
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
dh_installchangelogs changelog.txt
|
||||
dh_installdocs
|
||||
dh_installexamples
|
||||
# dh_install
|
||||
dh_installmenu
|
||||
dh_installdebconf
|
||||
# dh_installlogrotate
|
||||
# dh_installemacsen
|
||||
# dh_installpam
|
||||
# dh_installmime
|
||||
# dh_installinit
|
||||
# dh_installcron
|
||||
# dh_installinfo
|
||||
dh_installman docs/openttd.6
|
||||
dh_link
|
||||
dh_strip
|
||||
dh_compress
|
||||
dh_fixperms
|
||||
# dh_perl
|
||||
# dh_python
|
||||
# dh_makeshlibs
|
||||
dh_installdeb
|
||||
dh_shlibdeps
|
||||
dh_gencontrol
|
||||
dh_md5sums
|
||||
dh_builddeb
|
||||
# Since 0.7.0, upstream Makefile installs some unwanted stuff.
|
||||
-rm $(CURDIR)/debian/openttd/usr/share/doc/openttd/COPYING
|
||||
-rm $(CURDIR)/debian/openttd/usr/share/doc/openttd/changelog.txt
|
||||
-rm $(CURDIR)/debian/openttd/usr/share/doc/openttd/ob*_format.txt
|
||||
|
||||
binary: binary-indep binary-arch
|
||||
.PHONY: build clean binary-indep binary-arch binary install configure
|
||||
# Don't do testing. Because the OpenTTD Makefile always does dependency
|
||||
# generation (even on invalid targets), dh_auto_test thinks there is a
|
||||
# "test" target, while there isn't.
|
||||
override_dh_auto_test:
|
||||
|
||||
# Call mrproper. Again, dh_auto_clean thinks there is a distclean
|
||||
# target, while there isn't.
|
||||
override_dh_auto_clean:
|
||||
[ ! -f Makefile ] || $(MAKE) mrproper
|
||||
|
@@ -1,16 +0,0 @@
|
||||
# These templates have been reviewed by the debian-l10n-english
|
||||
# team
|
||||
#
|
||||
# If modifications/additions/rewording are needed, please ask
|
||||
# for an advice to debian-l10n-english@lists.debian.org
|
||||
#
|
||||
# Even minor modifications require translation updates and such
|
||||
# changes should be coordinated with translators and reviewers.
|
||||
Template: openttd/datafiles
|
||||
Type: error
|
||||
_Description: Data files needed
|
||||
For its operation, OpenTTD needs the data files from the original
|
||||
Transport Tycoon Deluxe game.
|
||||
.
|
||||
See the /usr/share/doc/openttd/README.Debian file for more details
|
||||
about the needed files and their location.
|
@@ -1,6 +1,6 @@
|
||||
@echo off
|
||||
|
||||
set OPENTTD_VERSION=1.0.0-beta3
|
||||
set OPENTTD_VERSION=1.0.0-RC2
|
||||
set OPENSFX_VERSION=0.8.0
|
||||
set NOSOUND_VERSION=0.8.0
|
||||
set OPENGFX_VERSION=0.7.0
|
||||
|
@@ -2,8 +2,8 @@
|
||||
!define APPV_MAJOR 1
|
||||
!define APPV_MINOR 0
|
||||
!define APPV_MAINT 0
|
||||
!define APPV_BUILD 2
|
||||
!define APPV_EXTRA "-beta3"
|
||||
!define APPV_BUILD 5
|
||||
!define APPV_EXTRA "-RC2"
|
||||
|
||||
!define APPNAME "OpenTTD" ; Define application name
|
||||
!define APPVERSION "${APPV_MAJOR}.${APPV_MINOR}.${APPV_MAINT}${APPV_EXTRA}" ; Define application version
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
!define OPENGFX_BASE_VERSION "0.7.0"
|
||||
!define OPENSFX_BASE_VERSION "0.8.0"
|
||||
!define NOSOUND_BASE_VERSION "0.8.0"
|
||||
!define OPENMSX_BASE_VERSION "1.0.0"
|
||||
|
||||
!define MUI_ICON "..\..\..\media\openttd.ico"
|
||||
!define MUI_UNICON "..\..\..\media\openttd.ico"
|
||||
@@ -238,21 +238,21 @@ Done:
|
||||
SectionEnd
|
||||
|
||||
;----------------------------------------------------------------------------------
|
||||
; NoSound files install section. Downloads NoSound and installs it
|
||||
Section "Download NoSound (free sound set)" Section5
|
||||
; OpenMSX files install section. Downloads OpenMSX and installs it
|
||||
Section "Download OpenMSX (free music set)" Section5
|
||||
SetOverwrite try
|
||||
|
||||
NSISdl::download "http://binaries.openttd.org/installer/nosound-${NOSOUND_BASE_VERSION}.7z" "$INSTDIR\data\nosound.7z"
|
||||
NSISdl::download "http://binaries.openttd.org/installer/openmsx-${OPENMSX_BASE_VERSION}.7z" "$INSTDIR\gm\openmsx.7z"
|
||||
Pop $R0 ;Get the return value
|
||||
StrCmp $R0 "success" +3
|
||||
MessageBox MB_OK "Downloading of NoSound failed"
|
||||
MessageBox MB_OK "Downloading of OpenMSX failed"
|
||||
Goto Done
|
||||
|
||||
; Let's extract the files
|
||||
SetOutPath "$INSTDIR\data\"
|
||||
NSIS7z::Extract "$INSTDIR\data\nosound.7z"
|
||||
SetOutPath "$INSTDIR\gm\"
|
||||
NSIS7z::Extract "$INSTDIR\gm\openmsx.7z"
|
||||
|
||||
Delete "$INSTDIR\data\nosound.7z"
|
||||
Delete "$INSTDIR\gm\openmsx.7z"
|
||||
SetOutPath "$INSTDIR\"
|
||||
Done:
|
||||
|
||||
@@ -294,8 +294,8 @@ SectionEnd
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${Section6} "Translations of OpenTTD."
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${Section3} "Download the free OpenGFX game graphics set. This download is about 3 MiB."
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${Section4} "Download the free OpenSFX game sound set. This download is about 10 MiB."
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${Section5} "Download the free NoSound game sound set. You will not hear anything with this. This download is about 7 KiB."
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${Section2} "Copies the game graphics and sounds from the Transport Tycoon Deluxe CD."
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${Section5} "Download the free OpenMSX game music set. This download is about 200 KiB."
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${Section2} "Copies the game graphics, sounds and music from the Transport Tycoon Deluxe CD."
|
||||
!insertmacro MUI_FUNCTION_DESCRIPTION_END
|
||||
|
||||
;-----------------------------------------------
|
||||
@@ -377,6 +377,7 @@ Section "Uninstall"
|
||||
Delete "$INSTDIR\data\orig_dos_de.obg"
|
||||
Delete "$INSTDIR\data\orig_win.obs"
|
||||
Delete "$INSTDIR\data\orig_dos.obs"
|
||||
Delete "$INSTDIR\data\no_sound.obs"
|
||||
|
||||
Delete "$INSTDIR\data\sample.cat"
|
||||
; Windows Data files
|
||||
@@ -395,13 +396,13 @@ Section "Uninstall"
|
||||
; Music
|
||||
Delete "$INSTDIR\gm\*.gm"
|
||||
|
||||
; Downloaded OpenGFX/OpenSFX/NoSound
|
||||
; Downloaded OpenGFX/OpenSFX/OpenMSX
|
||||
Delete "$INSTDIR\data\opengfx\*"
|
||||
RMDir "$INSTDIR\data\opengfx"
|
||||
Delete "$INSTDIR\data\opensfx\*"
|
||||
RMDir "$INSTDIR\data\opensfx"
|
||||
Delete "$INSTDIR\data\nosound\*"
|
||||
RMDir "$INSTDIR\data\nosound"
|
||||
Delete "$INSTDIR\gm\openmsx\*"
|
||||
RMDir "$INSTDIR\gm\openmsx"
|
||||
|
||||
; Language files
|
||||
Delete "$INSTDIR\lang\*.lng"
|
||||
@@ -549,7 +550,7 @@ Function .onInit
|
||||
|
||||
SectionSetSize ${Section3} 6144
|
||||
SectionSetSize ${Section4} 13312
|
||||
SectionSetSize ${Section5} 30
|
||||
SectionSetSize ${Section5} 1024
|
||||
|
||||
SectionSetFlags 0 17
|
||||
|
||||
|
@@ -39,7 +39,7 @@ Sub UpdateFiles(version)
|
||||
modified = Mid(version, InStrRev(version, Chr(9)) + 1)
|
||||
version = Mid(version, 1, InStr(version, Chr(9)) - 1)
|
||||
Else
|
||||
version = "1.0.0-beta3"
|
||||
version = "1.0.0-RC2"
|
||||
revision = 0
|
||||
modified = 1
|
||||
End If
|
||||
|
@@ -40,6 +40,7 @@ sdl_config="1"
|
||||
png_config="1"
|
||||
os="MSVC"
|
||||
enable_dedicated="0"
|
||||
enable_ai="1"
|
||||
with_cocoa="0"
|
||||
enable_directmusic="1"
|
||||
with_threads="1"
|
||||
@@ -94,6 +95,7 @@ load_main_data() {
|
||||
if ($0 == "PSP" && "'$os'" != "PSP") { next; }
|
||||
if ($0 == "DOS" && "'$os'" != "DOS") { next; }
|
||||
if ($0 == "DEDICATED" && "'$enable_dedicated'" != "1") { next; }
|
||||
if ($0 == "AI" && "'$enable_ai'" == "0") { next; }
|
||||
if ($0 == "COCOA" && "'$with_cocoa'" == "0") { next; }
|
||||
if ($0 == "BEOS" && "'$os'" != "BEOS") { next; }
|
||||
if ($0 == "WIN32" && "'$os'" != "MINGW" &&
|
||||
@@ -159,8 +161,8 @@ load_lang_data() {
|
||||
<Tool
|
||||
Name=\"VCCustomBuildTool\"
|
||||
Description=\"Generating "$i" language file\"
|
||||
CommandLine=\"..\\objs\\strgen\\strgen.exe -s ..\\src\\lang -d ..\\bin\\lang "\$(InputPath)"
\"
|
||||
AdditionalDependencies=\"..\\src\\lang\\english.txt\"
|
||||
CommandLine=\"..\\objs\\strgen\\strgen.exe -s ..\\src\\lang -d ..\\bin\\lang "\$(InputPath)"
exit 0
\"
|
||||
AdditionalDependencies=\"..\\src\\lang\\english.txt;..\\objs\\strgen\\strgen.exe\"
|
||||
Outputs=\"..\\bin\\lang\\"$i".lng\"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
|
@@ -158,6 +158,7 @@ Function load_main_data(filename)
|
||||
line = "WIN32" Or _
|
||||
line = "MSVC" Or _
|
||||
line = "DIRECTMUSIC" Or _
|
||||
line = "AI" Or _
|
||||
line = "HAVE_THREAD" _
|
||||
) Then skip = skip + 1
|
||||
deep = deep + 1
|
||||
@@ -209,8 +210,8 @@ Function load_lang_data(dir)
|
||||
& vbCrLf & " <Tool" _
|
||||
& vbCrLf & " Name=" & Chr(34) & "VCCustomBuildTool" & Chr(34) _
|
||||
& vbCrLf & " Description=" & Chr(34) & "Generating " & file & " language file" & Chr(34) _
|
||||
& vbCrLf & " CommandLine=" & Chr(34) & "..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
" & Chr(34) _
|
||||
& vbCrLf & " AdditionalDependencies=" & Chr(34) & "..\src\lang\english.txt" & Chr(34) _
|
||||
& vbCrLf & " CommandLine=" & Chr(34) & "..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
" & Chr(34) _
|
||||
& vbCrLf & " AdditionalDependencies=" & Chr(34) & "..\src\lang\english.txt;..\objs\strgen\strgen.exe" & Chr(34) _
|
||||
& vbCrLf & " Outputs=" & Chr(34) & "..\bin\lang\" & file & ".lng" & Chr(34) _
|
||||
& vbCrLf & " />" _
|
||||
& vbCrLf & " </FileConfiguration>" _
|
||||
|
@@ -55,8 +55,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating afrikaans language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\afrikaans.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -70,8 +70,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating arabic_egypt language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\arabic_egypt.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -85,8 +85,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating brazilian_portuguese language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\brazilian_portuguese.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -100,8 +100,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating bulgarian language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\bulgarian.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -115,8 +115,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating catalan language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\catalan.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -130,8 +130,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating croatian language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\croatian.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -145,8 +145,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating czech language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\czech.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -160,8 +160,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating danish language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\danish.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -175,8 +175,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating dutch language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\dutch.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -190,8 +190,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating english language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\english.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -205,8 +205,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating english_US language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\english_US.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -220,8 +220,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating esperanto language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\esperanto.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -235,8 +235,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating estonian language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\estonian.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -250,8 +250,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating finnish language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\finnish.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -265,8 +265,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating french language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\french.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -280,8 +280,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating galician language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\galician.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -295,8 +295,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating german language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\german.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -310,8 +310,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating greek language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\greek.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -325,8 +325,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating hebrew language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\hebrew.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -340,8 +340,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating hungarian language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\hungarian.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -355,8 +355,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating icelandic language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\icelandic.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -370,8 +370,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating indonesian language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\indonesian.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -385,8 +385,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating italian language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\italian.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -400,8 +400,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating japanese language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\japanese.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -415,8 +415,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating korean language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\korean.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -430,8 +430,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating latvian language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\latvian.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -445,8 +445,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating lithuanian language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\lithuanian.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -460,8 +460,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating luxembourgish language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\luxembourgish.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -475,8 +475,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating malay language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\malay.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -490,8 +490,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating norwegian_bokmal language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\norwegian_bokmal.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -505,8 +505,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating norwegian_nynorsk language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\norwegian_nynorsk.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -520,8 +520,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating polish language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\polish.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -535,8 +535,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating portuguese language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\portuguese.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -550,8 +550,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating romanian language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\romanian.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -565,8 +565,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating russian language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\russian.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -580,8 +580,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating serbian language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\serbian.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -595,8 +595,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating simplified_chinese language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\simplified_chinese.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -610,8 +610,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating slovak language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\slovak.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -625,8 +625,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating slovenian language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\slovenian.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -640,8 +640,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating spanish language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\spanish.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -655,8 +655,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating swedish language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\swedish.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -670,8 +670,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating traditional_chinese language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\traditional_chinese.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -685,8 +685,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating turkish language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\turkish.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -700,12 +700,27 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating ukrainian language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\ukrainian.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\lang\vietnamese.txt"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating vietnamese language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\vietnamese.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\lang\welsh.txt"
|
||||
>
|
||||
@@ -715,8 +730,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating welsh language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\welsh.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
|
@@ -56,8 +56,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating afrikaans language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\afrikaans.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -71,8 +71,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating arabic_egypt language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\arabic_egypt.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -86,8 +86,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating brazilian_portuguese language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\brazilian_portuguese.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -101,8 +101,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating bulgarian language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\bulgarian.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -116,8 +116,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating catalan language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\catalan.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -131,8 +131,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating croatian language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\croatian.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -146,8 +146,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating czech language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\czech.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -161,8 +161,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating danish language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\danish.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -176,8 +176,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating dutch language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\dutch.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -191,8 +191,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating english language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\english.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -206,8 +206,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating english_US language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\english_US.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -221,8 +221,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating esperanto language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\esperanto.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -236,8 +236,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating estonian language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\estonian.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -251,8 +251,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating finnish language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\finnish.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -266,8 +266,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating french language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\french.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -281,8 +281,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating galician language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\galician.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -296,8 +296,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating german language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\german.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -311,8 +311,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating greek language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\greek.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -326,8 +326,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating hebrew language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\hebrew.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -341,8 +341,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating hungarian language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\hungarian.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -356,8 +356,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating icelandic language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\icelandic.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -371,8 +371,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating indonesian language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\indonesian.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -386,8 +386,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating italian language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\italian.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -401,8 +401,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating japanese language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\japanese.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -416,8 +416,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating korean language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\korean.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -431,8 +431,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating latvian language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\latvian.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -446,8 +446,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating lithuanian language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\lithuanian.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -461,8 +461,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating luxembourgish language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\luxembourgish.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -476,8 +476,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating malay language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\malay.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -491,8 +491,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating norwegian_bokmal language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\norwegian_bokmal.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -506,8 +506,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating norwegian_nynorsk language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\norwegian_nynorsk.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -521,8 +521,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating polish language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\polish.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -536,8 +536,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating portuguese language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\portuguese.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -551,8 +551,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating romanian language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\romanian.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -566,8 +566,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating russian language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\russian.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -581,8 +581,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating serbian language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\serbian.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -596,8 +596,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating simplified_chinese language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\simplified_chinese.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -611,8 +611,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating slovak language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\slovak.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -626,8 +626,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating slovenian language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\slovenian.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -641,8 +641,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating spanish language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\spanish.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -656,8 +656,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating swedish language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\swedish.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -671,8 +671,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating traditional_chinese language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\traditional_chinese.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -686,8 +686,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating turkish language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\turkish.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -701,12 +701,27 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating ukrainian language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\ukrainian.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\lang\vietnamese.txt"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating vietnamese language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\vietnamese.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\lang\welsh.txt"
|
||||
>
|
||||
@@ -716,8 +731,8 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating welsh language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
"
|
||||
AdditionalDependencies="..\src\lang\english.txt"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\welsh.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
|
@@ -60,7 +60,7 @@
|
||||
FavorSizeOrSpeed="2"
|
||||
OmitFramePointers="true"
|
||||
AdditionalIncludeDirectories="..\objs\langs;..\src\3rdparty\squirrel\include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_PNG;WITH_FREETYPE;WITH_ICU;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";WITH_ASSERT"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_PNG;WITH_FREETYPE;WITH_ICU;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";WITH_ASSERT"
|
||||
StringPooling="true"
|
||||
ExceptionHandling="1"
|
||||
RuntimeLibrary="0"
|
||||
@@ -169,7 +169,7 @@
|
||||
AdditionalOptions="/MP"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\objs\langs;..\src\3rdparty\squirrel\include"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_PNG;WITH_FREETYPE;WITH_ICU;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\""
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_PNG;WITH_FREETYPE;WITH_ICU;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\""
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="0"
|
||||
@@ -273,7 +273,7 @@
|
||||
FavorSizeOrSpeed="2"
|
||||
OmitFramePointers="true"
|
||||
AdditionalIncludeDirectories="..\objs\langs;..\src\3rdparty\squirrel\include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_PNG;WITH_FREETYPE;WITH_ICU;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64;WITH_ASSERT"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_PNG;WITH_FREETYPE;WITH_ICU;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64;WITH_ASSERT"
|
||||
StringPooling="true"
|
||||
ExceptionHandling="1"
|
||||
RuntimeLibrary="0"
|
||||
@@ -383,7 +383,7 @@
|
||||
AdditionalOptions="/MP"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\objs\langs;..\src\3rdparty\squirrel\include"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_PNG;WITH_FREETYPE;WITH_ICU;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_PNG;WITH_FREETYPE;WITH_ICU;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="0"
|
||||
@@ -719,6 +719,10 @@
|
||||
RelativePath=".\..\src\tile_map.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\tilearea.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\townname.cpp"
|
||||
>
|
||||
@@ -1019,6 +1023,10 @@
|
||||
RelativePath=".\..\src\gfxinit.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\graph_gui.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\group.h"
|
||||
>
|
||||
@@ -1183,6 +1191,10 @@
|
||||
RelativePath=".\..\src\newgrf_properties.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\newgrf_railtype.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\newgrf_sound.h"
|
||||
>
|
||||
@@ -1311,6 +1323,10 @@
|
||||
RelativePath=".\..\src\sdl.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\smallmap_gui.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\sound\sdl_s.h"
|
||||
>
|
||||
@@ -2175,6 +2191,10 @@
|
||||
RelativePath=".\..\src\table\airport_defaults.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\table\airporttile_ids.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\table\airporttiles.h"
|
||||
>
|
||||
@@ -3187,6 +3207,10 @@
|
||||
RelativePath=".\..\src\newgrf_industrytiles.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\newgrf_railtype.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\newgrf_sound.cpp"
|
||||
>
|
||||
@@ -3411,6 +3435,14 @@
|
||||
RelativePath=".\..\src\network\core\tcp_game.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\network\core\tcp_http.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\network\core\tcp_http.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\network\core\udp.cpp"
|
||||
>
|
||||
|
@@ -60,7 +60,7 @@
|
||||
FavorSizeOrSpeed="2"
|
||||
OmitFramePointers="true"
|
||||
AdditionalIncludeDirectories="..\objs\langs;..\src\3rdparty\squirrel\include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_PNG;WITH_FREETYPE;WITH_ICU;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";WITH_ASSERT"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_PNG;WITH_FREETYPE;WITH_ICU;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";WITH_ASSERT"
|
||||
StringPooling="true"
|
||||
ExceptionHandling="1"
|
||||
RuntimeLibrary="0"
|
||||
@@ -169,7 +169,7 @@
|
||||
AdditionalOptions="/MP"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\objs\langs;..\src\3rdparty\squirrel\include"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_PNG;WITH_FREETYPE;WITH_ICU;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\""
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_PNG;WITH_FREETYPE;WITH_ICU;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\""
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="0"
|
||||
@@ -273,7 +273,7 @@
|
||||
FavorSizeOrSpeed="2"
|
||||
OmitFramePointers="true"
|
||||
AdditionalIncludeDirectories="..\objs\langs;..\src\3rdparty\squirrel\include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_PNG;WITH_FREETYPE;WITH_ICU;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64;WITH_ASSERT"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_PNG;WITH_FREETYPE;WITH_ICU;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64;WITH_ASSERT"
|
||||
StringPooling="true"
|
||||
ExceptionHandling="1"
|
||||
RuntimeLibrary="0"
|
||||
@@ -383,7 +383,7 @@
|
||||
AdditionalOptions="/MP"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\objs\langs;..\src\3rdparty\squirrel\include"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_PNG;WITH_FREETYPE;WITH_ICU;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_PNG;WITH_FREETYPE;WITH_ICU;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="0"
|
||||
|
@@ -61,7 +61,7 @@
|
||||
FavorSizeOrSpeed="2"
|
||||
OmitFramePointers="true"
|
||||
AdditionalIncludeDirectories="..\objs\langs;..\src\3rdparty\squirrel\include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_PNG;WITH_FREETYPE;WITH_ICU;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";WITH_ASSERT"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_PNG;WITH_FREETYPE;WITH_ICU;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";WITH_ASSERT"
|
||||
StringPooling="true"
|
||||
ExceptionHandling="1"
|
||||
RuntimeLibrary="0"
|
||||
@@ -168,7 +168,7 @@
|
||||
AdditionalOptions="/MP"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\objs\langs;..\src\3rdparty\squirrel\include"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_PNG;WITH_FREETYPE;WITH_ICU;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\""
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_PNG;WITH_FREETYPE;WITH_ICU;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\""
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="0"
|
||||
@@ -271,7 +271,7 @@
|
||||
FavorSizeOrSpeed="2"
|
||||
OmitFramePointers="true"
|
||||
AdditionalIncludeDirectories="..\objs\langs;..\src\3rdparty\squirrel\include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_PNG;WITH_FREETYPE;WITH_ICU;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64;WITH_ASSERT"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_PNG;WITH_FREETYPE;WITH_ICU;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64;WITH_ASSERT"
|
||||
StringPooling="true"
|
||||
ExceptionHandling="1"
|
||||
RuntimeLibrary="0"
|
||||
@@ -380,7 +380,7 @@
|
||||
AdditionalOptions="/MP"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\objs\langs;..\src\3rdparty\squirrel\include"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_PNG;WITH_FREETYPE;WITH_ICU;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_PNG;WITH_FREETYPE;WITH_ICU;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="0"
|
||||
@@ -716,6 +716,10 @@
|
||||
RelativePath=".\..\src\tile_map.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\tilearea.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\townname.cpp"
|
||||
>
|
||||
@@ -1016,6 +1020,10 @@
|
||||
RelativePath=".\..\src\gfxinit.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\graph_gui.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\group.h"
|
||||
>
|
||||
@@ -1180,6 +1188,10 @@
|
||||
RelativePath=".\..\src\newgrf_properties.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\newgrf_railtype.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\newgrf_sound.h"
|
||||
>
|
||||
@@ -1308,6 +1320,10 @@
|
||||
RelativePath=".\..\src\sdl.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\smallmap_gui.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\sound\sdl_s.h"
|
||||
>
|
||||
@@ -2172,6 +2188,10 @@
|
||||
RelativePath=".\..\src\table\airport_defaults.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\table\airporttile_ids.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\table\airporttiles.h"
|
||||
>
|
||||
@@ -3184,6 +3204,10 @@
|
||||
RelativePath=".\..\src\newgrf_industrytiles.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\newgrf_railtype.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\newgrf_sound.cpp"
|
||||
>
|
||||
@@ -3408,6 +3432,14 @@
|
||||
RelativePath=".\..\src\network\core\tcp_game.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\network\core\tcp_http.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\network\core\tcp_http.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\network\core\udp.cpp"
|
||||
>
|
||||
|
@@ -61,7 +61,7 @@
|
||||
FavorSizeOrSpeed="2"
|
||||
OmitFramePointers="true"
|
||||
AdditionalIncludeDirectories="..\objs\langs;..\src\3rdparty\squirrel\include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_PNG;WITH_FREETYPE;WITH_ICU;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";WITH_ASSERT"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_PNG;WITH_FREETYPE;WITH_ICU;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";WITH_ASSERT"
|
||||
StringPooling="true"
|
||||
ExceptionHandling="1"
|
||||
RuntimeLibrary="0"
|
||||
@@ -168,7 +168,7 @@
|
||||
AdditionalOptions="/MP"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\objs\langs;..\src\3rdparty\squirrel\include"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_PNG;WITH_FREETYPE;WITH_ICU;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\""
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_PNG;WITH_FREETYPE;WITH_ICU;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\""
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="0"
|
||||
@@ -271,7 +271,7 @@
|
||||
FavorSizeOrSpeed="2"
|
||||
OmitFramePointers="true"
|
||||
AdditionalIncludeDirectories="..\objs\langs;..\src\3rdparty\squirrel\include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_PNG;WITH_FREETYPE;WITH_ICU;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64;WITH_ASSERT"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_PNG;WITH_FREETYPE;WITH_ICU;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64;WITH_ASSERT"
|
||||
StringPooling="true"
|
||||
ExceptionHandling="1"
|
||||
RuntimeLibrary="0"
|
||||
@@ -380,7 +380,7 @@
|
||||
AdditionalOptions="/MP"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\objs\langs;..\src\3rdparty\squirrel\include"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_PNG;WITH_FREETYPE;WITH_ICU;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_PNG;WITH_FREETYPE;WITH_ICU;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="0"
|
||||
|
36
readme.txt
36
readme.txt
@@ -1,6 +1,6 @@
|
||||
OpenTTD README
|
||||
Last updated: 2010-01-21
|
||||
Release version: 1.0.0-beta3
|
||||
Last updated: 2010-03-04
|
||||
Release version: 1.0.0-RC2
|
||||
------------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@ Table of Contents:
|
||||
6.0) Configuration File
|
||||
7.0) Compiling
|
||||
* 7.1) Required/optional libraries
|
||||
* 7.2) Supported compilers
|
||||
8.0) Translating
|
||||
* 8.1 Translation
|
||||
* 8.2 Previewing
|
||||
@@ -250,11 +251,14 @@ The TTD artwork files listed in the section 4.1 "(Required) 3rd party files"
|
||||
can be placed in a few different locations:
|
||||
1. The current working directory (from where you started OpenTTD)
|
||||
2. Your personal directory
|
||||
Windows: C:\Documents and Settings\<username>\My Documents\OpenTTD
|
||||
Windows: C:\My Documents (95, 98, ME)
|
||||
C:\Documents and Settings\<username>\My Documents\OpenTTD (2000, XP)
|
||||
C:\Users\<username>\Documents\OpenTTD (Vista, 7)
|
||||
Mac OSX: ~/Documents/OpenTTD
|
||||
Linux: ~/.openttd
|
||||
3. The shared directory
|
||||
Windows: C:\Documents and Settings\All Users\Documents\OpenTTD
|
||||
Windows: C:\Documents and Settings\All Users\Shared Documents\OpenTTD (2000, XP)
|
||||
C:\Users\Public\Documents\OpenTTD (Vista, 7)
|
||||
Mac OSX: /Library/Application Support/OpenTTD
|
||||
Linux: not available
|
||||
4. The binary directory (where the OpenTTD executable is)
|
||||
@@ -421,6 +425,23 @@ zlib you cannot open most savegames or use the content downloading system.
|
||||
Without libSDL/liballegro on non-Windows and non-MacOS X machines you have
|
||||
no graphical user interface; you would be building a dedicated server.
|
||||
|
||||
7.2) Supported compilers:
|
||||
---- -------------------
|
||||
The following compilers are known to compile OpenTTD:
|
||||
- Microsoft Visual C++ (MSVC) 2005 and 2008.
|
||||
Version 2005 gives bogus warnings about scoping issues.
|
||||
- GNU Compiler Collection (GCC) 3.3 - 4.5.
|
||||
Versions 4.1 and earlier give bogus warnings about uninitialised variables.
|
||||
Versions 4.4 and later give bogus warnings about freeing heap objects.
|
||||
- Intel C++ Compiler (ICC) 11.0 and 11.1.
|
||||
|
||||
The following compilers are known not to compile OpenTTD:
|
||||
- Microsoft Visual C++ (MSVC) 2003 and earlier.
|
||||
- GNU Compiler Collection (GCC) 3.2 and earlier.
|
||||
- (Open) Watcom.
|
||||
|
||||
If any of these compilers can compile OpenTTD again, please let us know.
|
||||
|
||||
8.0) Translating:
|
||||
---- -------------------
|
||||
See http://www.openttd.org/development for up-to-date information.
|
||||
@@ -509,10 +530,8 @@ X.X) Credits:
|
||||
---- --------
|
||||
The OpenTTD team (in alphabetical order):
|
||||
Albert Hofkamp (Alberth) - GUI expert
|
||||
Jean-Francois Claeys (Belugas) - GUI, newindustries and more
|
||||
Bjarni Corfitzen (Bjarni) - MacOSX port, coder and vehicles
|
||||
Jean-François Claeys (Belugas) - GUI, newindustries and more
|
||||
Matthijs Kooijman (blathijs) - Pathfinder-guru, pool rework
|
||||
Victor Fischer (Celestar) - Programming everywhere you need him to
|
||||
Christoph Elsenhans (frosch) - General coding
|
||||
Loïc Guilloux (glx) - Windows Expert
|
||||
Michael Lutz (michi_cc) - Path based signals
|
||||
@@ -520,9 +539,12 @@ The OpenTTD team (in alphabetical order):
|
||||
Peter Nelson (peter1138) - Spiritual descendant from newGRF gods
|
||||
Remko Bijker (Rubidium) - Lead coder and way more
|
||||
Zdeněk Sojka (SmatZ) - Bug finder and fixer
|
||||
José Soler (Terkhen) - General coding
|
||||
Thijs Marinussen (Yexo) - AI Framework
|
||||
|
||||
Inactive Developers:
|
||||
Bjarni Corfitzen (Bjarni) - MacOSX port, coder and vehicles
|
||||
Victor Fischer (Celestar) - Programming everywhere you need him to
|
||||
Tamás Faragó (Darkvater) - Ex-Lead coder
|
||||
Jaroslav Mazanec (KUDr) - YAPG (Yet Another Pathfinder God) ;)
|
||||
Jonathan Coome (Maedhros) - High priest of the NewGRF Temple
|
||||
|
10
source.list
10
source.list
@@ -67,6 +67,7 @@ subsidy.cpp
|
||||
texteff.cpp
|
||||
tgp.cpp
|
||||
tile_map.cpp
|
||||
tilearea.cpp
|
||||
townname.cpp
|
||||
#if WIN32
|
||||
#else
|
||||
@@ -164,6 +165,7 @@ genworld.h
|
||||
gfx_func.h
|
||||
gfx_type.h
|
||||
gfxinit.h
|
||||
graph_gui.h
|
||||
group.h
|
||||
group_gui.h
|
||||
group_type.h
|
||||
@@ -205,6 +207,7 @@ newgrf_house.h
|
||||
newgrf_industries.h
|
||||
newgrf_industrytiles.h
|
||||
newgrf_properties.h
|
||||
newgrf_railtype.h
|
||||
newgrf_sound.h
|
||||
newgrf_spritegroup.h
|
||||
newgrf_station.h
|
||||
@@ -237,6 +240,7 @@ roadstop_base.h
|
||||
roadveh.h
|
||||
screenshot.h
|
||||
sdl.h
|
||||
smallmap_gui.h
|
||||
sound/sdl_s.h
|
||||
video/sdl_v.h
|
||||
settings_func.h
|
||||
@@ -474,6 +478,7 @@ saveload/waypoint_sl.cpp
|
||||
|
||||
# Tables
|
||||
table/airport_defaults.h
|
||||
table/airporttile_ids.h
|
||||
table/airporttiles.h
|
||||
table/airport_movement.h
|
||||
table/animcursors.h
|
||||
@@ -512,6 +517,7 @@ table/water_land.h
|
||||
3rdparty/md5/md5.cpp
|
||||
3rdparty/md5/md5.h
|
||||
|
||||
#if AI
|
||||
# Script
|
||||
script/script_info.cpp
|
||||
script/script_info.hpp
|
||||
@@ -692,6 +698,7 @@ ai/api/ai_vehicle.cpp
|
||||
ai/api/ai_vehiclelist.cpp
|
||||
ai/api/ai_waypoint.cpp
|
||||
ai/api/ai_waypointlist.cpp
|
||||
#end
|
||||
|
||||
# Blitters
|
||||
#if DEDICATED
|
||||
@@ -743,6 +750,7 @@ newgrf_generic.cpp
|
||||
newgrf_house.cpp
|
||||
newgrf_industries.cpp
|
||||
newgrf_industrytiles.cpp
|
||||
newgrf_railtype.cpp
|
||||
newgrf_sound.cpp
|
||||
newgrf_spritegroup.cpp
|
||||
newgrf_station.cpp
|
||||
@@ -802,6 +810,8 @@ network/core/tcp_content.cpp
|
||||
network/core/tcp_content.h
|
||||
network/core/tcp_game.cpp
|
||||
network/core/tcp_game.h
|
||||
network/core/tcp_http.cpp
|
||||
network/core/tcp_http.h
|
||||
network/core/udp.cpp
|
||||
network/core/udp.h
|
||||
|
||||
|
15
src/3rdparty/squirrel/sqstdlib/sqstdaux.cpp
vendored
15
src/3rdparty/squirrel/sqstdlib/sqstdaux.cpp
vendored
@@ -2,6 +2,7 @@
|
||||
#include <squirrel.h>
|
||||
#include <sqstdaux.h>
|
||||
#include <assert.h>
|
||||
#include <string.h>
|
||||
|
||||
void sqstd_printcallstack(HSQUIRRELVM v)
|
||||
{
|
||||
@@ -21,7 +22,19 @@ void sqstd_printcallstack(HSQUIRRELVM v)
|
||||
const SQChar *fn=_SC("unknown");
|
||||
const SQChar *src=_SC("unknown");
|
||||
if(si.funcname)fn=si.funcname;
|
||||
if(si.source)src=si.source;
|
||||
if(si.source) {
|
||||
/* We don't want to bother users with absolute paths to all AI files.
|
||||
* Since the path only reaches NoAI code in a formatted string we have
|
||||
* to strip it here. Let's hope nobody installs openttd in a subdirectory
|
||||
* of a directory named /ai/. */
|
||||
src = scstrstr(si.source, _SC("\\ai\\"));
|
||||
if (!src) src = scstrstr(si.source, _SC("/ai/"));
|
||||
if (src) {
|
||||
src += 4;
|
||||
} else {
|
||||
src = si.source;
|
||||
}
|
||||
}
|
||||
pf(v,_SC("*FUNCTION [%s()] %s line [%d]\n"),fn,src,si.line);
|
||||
level++;
|
||||
}
|
||||
|
@@ -12,6 +12,7 @@
|
||||
#ifndef AI_HPP
|
||||
#define AI_HPP
|
||||
|
||||
#ifdef ENABLE_AI
|
||||
#include "api/ai_event_types.hpp"
|
||||
#include "../date_type.h"
|
||||
#include "../core/string_compare_type.hpp"
|
||||
@@ -114,7 +115,7 @@ public:
|
||||
static char *GetConsoleList(char *p, const char *last);
|
||||
static const AIInfoList *GetInfoList();
|
||||
static const AIInfoList *GetUniqueInfoList();
|
||||
static AIInfo *FindInfo(const char *name, int version);
|
||||
static AIInfo *FindInfo(const char *name, int version, bool force_exact_match);
|
||||
static bool ImportLibrary(const char *library, const char *class_name, int version, HSQUIRRELVM vm);
|
||||
static void Rescan();
|
||||
#if defined(ENABLE_NETWORK)
|
||||
@@ -125,4 +126,26 @@ private:
|
||||
static class AIScanner *ai_scanner;
|
||||
};
|
||||
|
||||
#else /* ENABLE_AI */
|
||||
|
||||
#include "../company_type.h"
|
||||
|
||||
#define NewEvent(cid, event) nop()
|
||||
#define BroadcastNewEvent(...) nop()
|
||||
|
||||
class AI {
|
||||
public:
|
||||
static void StartNew(CompanyID company, bool rerandomise_ai = true) {}
|
||||
static void Stop(CompanyID company) {}
|
||||
static void Initialize() {}
|
||||
static void Uninitialize(bool keepConfig) {}
|
||||
static void KillAll() {}
|
||||
static void GameLoop() {}
|
||||
static bool HasAI(const struct ContentInfo *ci, bool md5sum) { return false; }
|
||||
static void Rescan() {}
|
||||
static char *GetConsoleList(char *p, const char *last) { return p; }
|
||||
static void nop() { }
|
||||
};
|
||||
|
||||
#endif /* ENABLE_AI */
|
||||
#endif /* AI_HPP */
|
||||
|
@@ -16,11 +16,11 @@
|
||||
#include "ai.hpp"
|
||||
#include "ai_config.hpp"
|
||||
|
||||
void AIConfig::ChangeAI(const char *name, int version, bool is_random_ai)
|
||||
void AIConfig::ChangeAI(const char *name, int version, bool force_exact_match, bool is_random_ai)
|
||||
{
|
||||
free((void *)this->name);
|
||||
this->name = (name == NULL) ? NULL : strdup(name);
|
||||
this->info = (name == NULL) ? NULL : AI::FindInfo(this->name, version);
|
||||
this->info = (name == NULL) ? NULL : AI::FindInfo(this->name, version, force_exact_match);
|
||||
this->version = (info == NULL) ? -1 : info->GetVersion();
|
||||
this->is_random_ai = is_random_ai;
|
||||
if (this->config_list != NULL) delete this->config_list;
|
||||
@@ -79,7 +79,7 @@ AIInfo *AIConfig::GetInfo() const
|
||||
|
||||
bool AIConfig::ResetInfo()
|
||||
{
|
||||
this->info = AI::FindInfo(this->name, -1);
|
||||
this->info = AI::FindInfo(this->name, -1, false);
|
||||
return this->info != NULL;
|
||||
}
|
||||
|
||||
|
@@ -11,6 +11,7 @@
|
||||
|
||||
#ifndef AI_CONFIG_HPP
|
||||
#define AI_CONFIG_HPP
|
||||
#ifdef ENABLE_AI
|
||||
|
||||
#include <map>
|
||||
#include "ai_info.hpp"
|
||||
@@ -36,9 +37,11 @@ public:
|
||||
* Set another AI to be loaded in this slot.
|
||||
* @param name The name of the AI.
|
||||
* @param version The version of the AI to load, or -1 of latest.
|
||||
* @param force_exact_match If true try to find the exact same version
|
||||
* as specified. If false any compatible version is ok.
|
||||
* @param is_random Is the AI chosen randomly?
|
||||
*/
|
||||
void ChangeAI(const char *name, int version = -1, bool is_random = false);
|
||||
void ChangeAI(const char *name, int version = -1, bool force_exact_match = false, bool is_random = false);
|
||||
|
||||
/**
|
||||
* When ever the AI Scanner is reloaded, all infos become invalid. This
|
||||
@@ -128,4 +131,5 @@ private:
|
||||
bool is_random_ai;
|
||||
};
|
||||
|
||||
#endif /* ENABLE_AI */
|
||||
#endif /* AI_CONFIG_HPP */
|
||||
|
@@ -44,7 +44,7 @@
|
||||
info = AI::ai_scanner->SelectRandomAI();
|
||||
assert(info != NULL);
|
||||
/* Load default data and store the name in the settings */
|
||||
config->ChangeAI(info->GetName(), -1, true);
|
||||
config->ChangeAI(info->GetName(), -1, false, true);
|
||||
}
|
||||
|
||||
_current_company = company;
|
||||
@@ -105,6 +105,7 @@
|
||||
_current_company = old_company;
|
||||
|
||||
InvalidateWindowData(WC_AI_DEBUG, 0, -1);
|
||||
DeleteWindowById(WC_AI_SETTINGS, company);
|
||||
}
|
||||
|
||||
/* static */ void AI::KillAll()
|
||||
@@ -288,9 +289,9 @@ void CcAI(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2)
|
||||
return AI::ai_scanner->GetUniqueAIInfoList();
|
||||
}
|
||||
|
||||
/* static */ AIInfo *AI::FindInfo(const char *name, int version)
|
||||
/* static */ AIInfo *AI::FindInfo(const char *name, int version, bool force_exact_match)
|
||||
{
|
||||
return AI::ai_scanner->FindInfo(name, version);
|
||||
return AI::ai_scanner->FindInfo(name, version, force_exact_match);
|
||||
}
|
||||
|
||||
/* static */ bool AI::ImportLibrary(const char *library, const char *class_name, int version, HSQUIRRELVM vm)
|
||||
|
@@ -10,6 +10,7 @@
|
||||
/** @file ai_gui.cpp Window for configuring the AIs */
|
||||
|
||||
#include "../stdafx.h"
|
||||
#include "../openttd.h"
|
||||
#include "../gui.h"
|
||||
#include "../window_gui.h"
|
||||
#include "../company_func.h"
|
||||
@@ -148,7 +149,7 @@ struct AIListWindow : public Window {
|
||||
SetWindowDirty(WC_GAME_OPTIONS, 0);
|
||||
}
|
||||
|
||||
virtual void OnClick(Point pt, int widget)
|
||||
virtual void OnClick(Point pt, int widget, int click_count)
|
||||
{
|
||||
switch (widget) {
|
||||
case AIL_WIDGET_LIST: { // Select one of the AIs
|
||||
@@ -156,6 +157,10 @@ struct AIListWindow : public Window {
|
||||
if (sel < (int)this->ai_info_list->size()) {
|
||||
this->selected = sel;
|
||||
this->SetDirty();
|
||||
if (click_count > 1) {
|
||||
this->ChangeAI();
|
||||
delete this;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -172,21 +177,6 @@ struct AIListWindow : public Window {
|
||||
}
|
||||
}
|
||||
|
||||
virtual void OnDoubleClick(Point pt, int widget)
|
||||
{
|
||||
switch (widget) {
|
||||
case AIL_WIDGET_LIST: {
|
||||
int sel = (pt.y - this->GetWidget<NWidgetBase>(AIL_WIDGET_LIST)->pos_y) / this->line_height + this->vscroll.GetPosition() - 1;
|
||||
if (sel < (int)this->ai_info_list->size()) {
|
||||
this->selected = sel;
|
||||
this->ChangeAI();
|
||||
delete this;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
virtual void OnResize()
|
||||
{
|
||||
NWidgetCore *nwi = this->GetWidget<NWidgetCore>(AIL_WIDGET_LIST);
|
||||
@@ -256,7 +246,9 @@ struct AISettingsWindow : public Window {
|
||||
{
|
||||
this->ai_config = AIConfig::GetConfig(slot);
|
||||
|
||||
this->InitNested(desc); // Initializes 'this->line_height' as side effect.
|
||||
this->InitNested(desc, slot); // Initializes 'this->line_height' as side effect.
|
||||
|
||||
this->SetWidgetDisabledState(AIS_WIDGET_RESET, _game_mode != GM_MENU);
|
||||
|
||||
this->vscroll.SetCount((int)this->ai_config->GetConfigList()->size());
|
||||
}
|
||||
@@ -297,12 +289,13 @@ struct AISettingsWindow : public Window {
|
||||
int y = r.top;
|
||||
for (; this->vscroll.IsVisible(i) && it != config->GetConfigList()->end(); i++, it++) {
|
||||
int current_value = config->GetSetting((*it).name);
|
||||
bool editable = (_game_mode == GM_MENU) || ((it->flags & AICONFIG_INGAME) != 0);
|
||||
|
||||
uint x = rtl ? r.right : r.left;
|
||||
if (((*it).flags & AICONFIG_BOOLEAN) != 0) {
|
||||
DrawFrameRect(buttons_left, y + 2, buttons_left + 19, y + 10, (current_value != 0) ? COLOUR_GREEN : COLOUR_RED, (current_value != 0) ? FR_LOWERED : FR_NONE);
|
||||
} else {
|
||||
DrawArrowButtons(buttons_left, y + 2, COLOUR_YELLOW, (this->clicked_button == i) ? 1 + (this->clicked_increase != rtl) : 0, current_value > (*it).min_value, current_value < (*it).max_value);
|
||||
DrawArrowButtons(buttons_left, y + 2, COLOUR_YELLOW, (this->clicked_button == i) ? 1 + (this->clicked_increase != rtl) : 0, editable && current_value > (*it).min_value, editable && current_value < (*it).max_value);
|
||||
if (it->labels != NULL && it->labels->Find(current_value) != it->labels->End()) {
|
||||
x = DrawString(value_left, value_right, y + WD_MATRIX_TOP, it->labels->Find(current_value)->second, TC_ORANGE);
|
||||
} else {
|
||||
@@ -316,7 +309,19 @@ struct AISettingsWindow : public Window {
|
||||
}
|
||||
}
|
||||
|
||||
virtual void OnClick(Point pt, int widget)
|
||||
void CheckDifficultyLevel()
|
||||
{
|
||||
if (_game_mode == GM_MENU) {
|
||||
if (_settings_newgame.difficulty.diff_level != 3) {
|
||||
_settings_newgame.difficulty.diff_level = 3;
|
||||
ShowErrorMessage(STR_WARNING_DIFFICULTY_TO_CUSTOM, INVALID_STRING_ID, 0, 0);
|
||||
}
|
||||
} else if (_settings_game.difficulty.diff_level != 3) {
|
||||
IConsoleSetSetting("difficulty.diff_level", 3);
|
||||
}
|
||||
}
|
||||
|
||||
virtual void OnClick(Point pt, int widget, int click_count)
|
||||
{
|
||||
switch (widget) {
|
||||
case AIS_WIDGET_BACKGROUND: {
|
||||
@@ -327,6 +332,8 @@ struct AISettingsWindow : public Window {
|
||||
AIConfigItemList::const_iterator it = this->ai_config->GetConfigList()->begin();
|
||||
for (int i = 0; i < num; i++) it++;
|
||||
AIConfigItem config_item = *it;
|
||||
if (_game_mode != GM_MENU && (config_item.flags & AICONFIG_INGAME) == 0) return;
|
||||
|
||||
bool bool_item = (config_item.flags & AICONFIG_BOOLEAN) != 0;
|
||||
|
||||
int x = pt.x - wid->pos_x;
|
||||
@@ -353,10 +360,7 @@ struct AISettingsWindow : public Window {
|
||||
this->clicked_button = num;
|
||||
this->timeout = 5;
|
||||
|
||||
if (_settings_newgame.difficulty.diff_level != 3) {
|
||||
_settings_newgame.difficulty.diff_level = 3;
|
||||
ShowErrorMessage(STR_WARNING_DIFFICULTY_TO_CUSTOM, INVALID_STRING_ID, 0, 0);
|
||||
}
|
||||
this->CheckDifficultyLevel();
|
||||
} else if (!bool_item) {
|
||||
/* Display a query box so users can enter a custom value. */
|
||||
this->clicked_row = num;
|
||||
@@ -386,6 +390,7 @@ struct AISettingsWindow : public Window {
|
||||
for (int i = 0; i < this->clicked_row; i++) it++;
|
||||
int32 value = atoi(str);
|
||||
this->ai_config->SetSetting((*it).name, value);
|
||||
this->CheckDifficultyLevel();
|
||||
this->SetDirty();
|
||||
}
|
||||
|
||||
@@ -572,7 +577,7 @@ struct AIConfigWindow : public Window {
|
||||
}
|
||||
}
|
||||
|
||||
virtual void OnClick(Point pt, int widget)
|
||||
virtual void OnClick(Point pt, int widget, int click_count)
|
||||
{
|
||||
switch (widget) {
|
||||
case AIC_WIDGET_DECREASE:
|
||||
@@ -591,6 +596,7 @@ struct AIConfigWindow : public Window {
|
||||
case AIC_WIDGET_LIST: { // Select a slot
|
||||
this->selected_slot = (CompanyID)((pt.y - this->GetWidget<NWidgetBase>(widget)->pos_y) / this->line_height + this->vscroll.GetPosition());
|
||||
this->InvalidateData();
|
||||
if (click_count > 1 && this->selected_slot != INVALID_COMPANY) ShowAIListWindow((CompanyID)this->selected_slot);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -598,6 +604,7 @@ struct AIConfigWindow : public Window {
|
||||
if (this->selected_slot > 1) {
|
||||
Swap(_settings_newgame.ai_config[this->selected_slot], _settings_newgame.ai_config[this->selected_slot - 1]);
|
||||
this->selected_slot--;
|
||||
this->vscroll.ScrollTowards(this->selected_slot);
|
||||
this->InvalidateData();
|
||||
}
|
||||
break;
|
||||
@@ -606,6 +613,7 @@ struct AIConfigWindow : public Window {
|
||||
if (this->selected_slot < _settings_newgame.difficulty.max_no_competitors) {
|
||||
Swap(_settings_newgame.ai_config[this->selected_slot], _settings_newgame.ai_config[this->selected_slot + 1]);
|
||||
this->selected_slot++;
|
||||
this->vscroll.ScrollTowards(this->selected_slot);
|
||||
this->InvalidateData();
|
||||
}
|
||||
break;
|
||||
@@ -634,16 +642,6 @@ struct AIConfigWindow : public Window {
|
||||
}
|
||||
}
|
||||
|
||||
virtual void OnDoubleClick(Point pt, int widget)
|
||||
{
|
||||
switch (widget) {
|
||||
case AIC_WIDGET_LIST:
|
||||
this->OnClick(pt, widget);
|
||||
if (this->selected_slot != INVALID_COMPANY) ShowAIListWindow((CompanyID)this->selected_slot);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
virtual void OnInvalidateData(int data)
|
||||
{
|
||||
if (this->selected_slot == 0 || this->selected_slot > _settings_newgame.difficulty.max_no_competitors) {
|
||||
@@ -677,6 +675,7 @@ void ShowAIConfigWindow()
|
||||
enum AIDebugWindowWidgets {
|
||||
AID_WIDGET_VIEW,
|
||||
AID_WIDGET_NAME_TEXT,
|
||||
AID_WIDGET_SETTINGS,
|
||||
AID_WIDGET_RELOAD_TOGGLE,
|
||||
AID_WIDGET_LOG_PANEL,
|
||||
AID_WIDGET_SCROLLBAR,
|
||||
@@ -704,6 +703,7 @@ struct AIDebugWindow : public Window {
|
||||
this->SetWidgetDisabledState(i + AID_WIDGET_COMPANY_BUTTON_START, !Company::IsValidAiID(i));
|
||||
}
|
||||
this->DisableWidget(AID_WIDGET_RELOAD_TOGGLE);
|
||||
this->DisableWidget(AID_WIDGET_SETTINGS);
|
||||
|
||||
this->last_vscroll_pos = 0;
|
||||
this->autoscroll = true;
|
||||
@@ -743,8 +743,11 @@ struct AIDebugWindow : public Window {
|
||||
}
|
||||
}
|
||||
|
||||
/* Update "Reload AI" button */
|
||||
this->SetWidgetDisabledState(AID_WIDGET_RELOAD_TOGGLE, ai_debug_company == INVALID_COMPANY);
|
||||
/* Update "Reload AI" and "AI settings" buttons */
|
||||
this->SetWidgetsDisabledState(ai_debug_company == INVALID_COMPANY,
|
||||
AID_WIDGET_RELOAD_TOGGLE,
|
||||
AID_WIDGET_SETTINGS,
|
||||
WIDGET_LIST_END);
|
||||
|
||||
/* Draw standard stuff */
|
||||
this->DrawWidgets();
|
||||
@@ -781,7 +784,7 @@ struct AIDebugWindow : public Window {
|
||||
if (!valid) continue;
|
||||
|
||||
byte offset = (i == ai_debug_company) ? 1 : 0;
|
||||
DrawCompanyIcon(i, this->GetWidget<NWidgetBase>(AID_WIDGET_COMPANY_BUTTON_START + i)->pos_x + 11 + offset, this->GetWidget<NWidgetBase>(AID_WIDGET_COMPANY_BUTTON_START + i)->pos_y + 2 + offset);
|
||||
DrawCompanyIcon(i, button->pos_x + button->current_x / 2 - 7 + offset, this->GetWidget<NWidgetBase>(AID_WIDGET_COMPANY_BUTTON_START + i)->pos_y + 2 + offset);
|
||||
}
|
||||
|
||||
CompanyID old_company = _current_company;
|
||||
@@ -884,9 +887,11 @@ struct AIDebugWindow : public Window {
|
||||
this->autoscroll = true;
|
||||
this->last_vscroll_pos = this->vscroll.GetPosition();
|
||||
this->SetDirty();
|
||||
/* Close AI settings window to prevent confusion */
|
||||
DeleteWindowByClass(WC_AI_SETTINGS);
|
||||
}
|
||||
|
||||
virtual void OnClick(Point pt, int widget)
|
||||
virtual void OnClick(Point pt, int widget, int click_count)
|
||||
{
|
||||
/* Check which button is clicked */
|
||||
if (IsInsideMM(widget, AID_WIDGET_COMPANY_BUTTON_START, AID_WIDGET_COMPANY_BUTTON_END + 1)) {
|
||||
@@ -895,16 +900,24 @@ struct AIDebugWindow : public Window {
|
||||
ChangeToAI((CompanyID)(widget - AID_WIDGET_COMPANY_BUTTON_START));
|
||||
}
|
||||
}
|
||||
if (widget == AID_WIDGET_RELOAD_TOGGLE && !this->IsWidgetDisabled(widget)) {
|
||||
/* First kill the company of the AI, then start a new one. This should start the current AI again */
|
||||
DoCommandP(0, 2, ai_debug_company, CMD_COMPANY_CTRL);
|
||||
DoCommandP(0, 1, ai_debug_company, CMD_COMPANY_CTRL);
|
||||
|
||||
switch (widget) {
|
||||
case AID_WIDGET_RELOAD_TOGGLE:
|
||||
/* First kill the company of the AI, then start a new one. This should start the current AI again */
|
||||
DoCommandP(0, 2, ai_debug_company, CMD_COMPANY_CTRL);
|
||||
DoCommandP(0, 1, ai_debug_company, CMD_COMPANY_CTRL);
|
||||
break;
|
||||
|
||||
case AID_WIDGET_SETTINGS:
|
||||
ShowAISettingsWindow(ai_debug_company);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
virtual void OnTimeout()
|
||||
{
|
||||
this->RaiseWidget(AID_WIDGET_RELOAD_TOGGLE);
|
||||
this->RaiseWidget(AID_WIDGET_SETTINGS);
|
||||
this->SetDirty();
|
||||
}
|
||||
|
||||
@@ -933,47 +946,48 @@ static const NWidgetPart _nested_ai_debug_widgets[] = {
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, AID_WIDGET_VIEW),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(NWID_SPACER), SetMinimalSize(2, 0),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, AID_WIDGET_COMPANY_BUTTON_START), SetMinimalSize(37, 13), SetDataTip(0x0, STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, AID_WIDGET_COMPANY_BUTTON_START), SetMinimalSize(37, 13), SetResize(1, 0), SetDataTip(0x0, STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, AID_WIDGET_COMPANY_BUTTON_START + 1), SetMinimalSize(37, 13), SetDataTip(0x0, STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, AID_WIDGET_COMPANY_BUTTON_START + 1), SetMinimalSize(37, 13), SetResize(1, 0), SetDataTip(0x0, STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, AID_WIDGET_COMPANY_BUTTON_START + 2), SetMinimalSize(37, 13), SetDataTip(0x0, STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, AID_WIDGET_COMPANY_BUTTON_START + 2), SetMinimalSize(37, 13), SetResize(1, 0), SetDataTip(0x0, STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, AID_WIDGET_COMPANY_BUTTON_START + 3), SetMinimalSize(37, 13), SetDataTip(0x0, STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, AID_WIDGET_COMPANY_BUTTON_START + 3), SetMinimalSize(37, 13), SetResize(1, 0), SetDataTip(0x0, STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, AID_WIDGET_COMPANY_BUTTON_START + 4), SetMinimalSize(37, 13), SetDataTip(0x0, STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, AID_WIDGET_COMPANY_BUTTON_START + 4), SetMinimalSize(37, 13), SetResize(1, 0), SetDataTip(0x0, STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, AID_WIDGET_COMPANY_BUTTON_START + 5), SetMinimalSize(37, 13), SetDataTip(0x0, STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, AID_WIDGET_COMPANY_BUTTON_START + 5), SetMinimalSize(37, 13), SetResize(1, 0), SetDataTip(0x0, STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, AID_WIDGET_COMPANY_BUTTON_START + 6), SetMinimalSize(37, 13), SetDataTip(0x0, STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, AID_WIDGET_COMPANY_BUTTON_START + 6), SetMinimalSize(37, 13), SetResize(1, 0), SetDataTip(0x0, STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, AID_WIDGET_COMPANY_BUTTON_START + 7), SetMinimalSize(37, 13), SetDataTip(0x0, STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, AID_WIDGET_COMPANY_BUTTON_START + 7), SetMinimalSize(37, 13), SetResize(1, 0), SetDataTip(0x0, STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP),
|
||||
EndContainer(),
|
||||
NWidget(NWID_SPACER), SetMinimalSize(2, 0), SetResize(1, 0),
|
||||
NWidget(NWID_SPACER), SetMinimalSize(2, 0),
|
||||
EndContainer(),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(NWID_SPACER), SetMinimalSize(2, 0),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, AID_WIDGET_COMPANY_BUTTON_START + 8), SetMinimalSize(37, 13), SetDataTip(0x0, STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, AID_WIDGET_COMPANY_BUTTON_START + 8), SetMinimalSize(37, 13), SetResize(1, 0), SetDataTip(0x0, STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, AID_WIDGET_COMPANY_BUTTON_START + 9), SetMinimalSize(37, 13), SetDataTip(0x0, STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, AID_WIDGET_COMPANY_BUTTON_START + 9), SetMinimalSize(37, 13), SetResize(1, 0), SetDataTip(0x0, STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, AID_WIDGET_COMPANY_BUTTON_START + 10), SetMinimalSize(37, 13), SetDataTip(0x0, STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, AID_WIDGET_COMPANY_BUTTON_START + 10), SetMinimalSize(37, 13), SetResize(1, 0), SetDataTip(0x0, STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, AID_WIDGET_COMPANY_BUTTON_START + 11), SetMinimalSize(37, 13), SetDataTip(0x0, STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, AID_WIDGET_COMPANY_BUTTON_START + 11), SetMinimalSize(37, 13), SetResize(1, 0), SetDataTip(0x0, STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, AID_WIDGET_COMPANY_BUTTON_START + 12), SetMinimalSize(37, 13), SetDataTip(0x0, STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, AID_WIDGET_COMPANY_BUTTON_START + 12), SetMinimalSize(37, 13), SetResize(1, 0), SetDataTip(0x0, STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, AID_WIDGET_COMPANY_BUTTON_START + 13), SetMinimalSize(37, 13), SetDataTip(0x0, STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, AID_WIDGET_COMPANY_BUTTON_START + 13), SetMinimalSize(37, 13), SetResize(1, 0), SetDataTip(0x0, STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, AID_WIDGET_COMPANY_BUTTON_START + 14), SetMinimalSize(37, 13), SetDataTip(0x0, STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, AID_WIDGET_COMPANY_BUTTON_START + 14), SetMinimalSize(37, 13), SetResize(1, 0), SetDataTip(0x0, STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP),
|
||||
EndContainer(),
|
||||
NWidget(NWID_SPACER), SetMinimalSize(39, 0), SetResize(1, 0),
|
||||
EndContainer(),
|
||||
NWidget(NWID_SPACER), SetMinimalSize(0, 1), SetResize(1, 0),
|
||||
EndContainer(),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_TEXTBTN, COLOUR_GREY, AID_WIDGET_NAME_TEXT), SetMinimalSize(150, 20), SetResize(1, 0), SetDataTip(STR_JUST_STRING, STR_AI_DEBUG_NAME_TOOLTIP),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, AID_WIDGET_RELOAD_TOGGLE), SetMinimalSize(149, 20), SetDataTip(STR_AI_DEBUG_RELOAD, STR_AI_DEBUG_RELOAD_TOOLTIP),
|
||||
NWidget(WWT_TEXTBTN, COLOUR_GREY, AID_WIDGET_NAME_TEXT), SetFill(1, 0), SetResize(1, 0), SetDataTip(STR_JUST_STRING, STR_AI_DEBUG_NAME_TOOLTIP),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, AID_WIDGET_SETTINGS), SetMinimalSize(100, 20), SetDataTip(STR_AI_DEBUG_SETTINGS, STR_AI_DEBUG_SETTINGS_TOOLTIP),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, AID_WIDGET_RELOAD_TOGGLE), SetMinimalSize(100, 20), SetDataTip(STR_AI_DEBUG_RELOAD, STR_AI_DEBUG_RELOAD_TOOLTIP),
|
||||
EndContainer(),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, AID_WIDGET_LOG_PANEL), SetMinimalSize(287, 180), SetResize(1, 1),
|
||||
@@ -986,7 +1000,7 @@ static const NWidgetPart _nested_ai_debug_widgets[] = {
|
||||
};
|
||||
|
||||
static const WindowDesc _ai_debug_desc(
|
||||
WDP_AUTO, 299, 241,
|
||||
WDP_AUTO, 600, 450,
|
||||
WC_AI_DEBUG, WC_NONE,
|
||||
0,
|
||||
_nested_ai_debug_widgets, lengthof(_nested_ai_debug_widgets)
|
||||
|
@@ -14,7 +14,17 @@
|
||||
|
||||
#include "../company_type.h"
|
||||
|
||||
#ifdef ENABLE_AI
|
||||
void ShowAIDebugWindow(CompanyID show_company = INVALID_COMPANY);
|
||||
void ShowAIConfigWindow();
|
||||
#else
|
||||
#include "table/strings.h"
|
||||
|
||||
static inline void ShowAIConfigWindow()
|
||||
{
|
||||
ShowErrorMessage(STR_ERROR_NO_AI, STR_ERROR_NO_AI_SUB, 0, 0);
|
||||
}
|
||||
static inline void ShowAIDebugWindow(CompanyID show_company = INVALID_COMPANY) {ShowAIConfigWindow();}
|
||||
#endif /* ENABLE_AI */
|
||||
|
||||
#endif /* AI_GUI_HPP */
|
||||
|
@@ -12,6 +12,8 @@
|
||||
#ifndef AI_INFO
|
||||
#define AI_INFO
|
||||
|
||||
#ifdef ENABLE_AI
|
||||
|
||||
#include <list>
|
||||
#include "../core/smallmap_type.hpp"
|
||||
#include "../script/script_info.hpp"
|
||||
@@ -20,6 +22,7 @@ enum AIConfigFlags {
|
||||
AICONFIG_NONE = 0x0,
|
||||
AICONFIG_RANDOM = 0x1, //!< When randomizing the AI, pick any value between min_value and max_value when on custom difficulty setting.
|
||||
AICONFIG_BOOLEAN = 0x2, //!< This value is a boolean (either 0 (false) or 1 (true) ).
|
||||
AICONFIG_INGAME = 0x4, //!< This setting can be changed while the AI is running.
|
||||
};
|
||||
|
||||
typedef SmallMap<int, char *> LabelMapping;
|
||||
@@ -140,4 +143,5 @@ private:
|
||||
const char *category;
|
||||
};
|
||||
|
||||
#endif /* ENABLE_AI */
|
||||
#endif /* AI_INFO */
|
||||
|
@@ -39,8 +39,10 @@ AIScanner::AIScanner() :
|
||||
SQAIInfo.AddConstructor<void (AIInfo::*)(), 1>(engine, "x");
|
||||
SQAIInfo.DefSQAdvancedMethod(this->engine, &AIInfo::AddSetting, "AddSetting");
|
||||
SQAIInfo.DefSQAdvancedMethod(this->engine, &AIInfo::AddLabels, "AddLabels");
|
||||
SQAIInfo.DefSQConst(engine, AICONFIG_NONE, "AICONFIG_NONE");
|
||||
SQAIInfo.DefSQConst(engine, AICONFIG_RANDOM, "AICONFIG_RANDOM");
|
||||
SQAIInfo.DefSQConst(engine, AICONFIG_BOOLEAN, "AICONFIG_BOOLEAN");
|
||||
SQAIInfo.DefSQConst(engine, AICONFIG_INGAME, "AICONFIG_INGAME");
|
||||
SQAIInfo.PostRegister(engine);
|
||||
this->engine->AddMethod("RegisterAI", &AIInfo::Constructor, 2, "tx");
|
||||
this->engine->AddMethod("RegisterDummyAI", &AIInfo::DummyConstructor, 2, "tx");
|
||||
@@ -274,7 +276,7 @@ AIInfo *AIScanner::SelectRandomAI() const
|
||||
return (*it).second;
|
||||
}
|
||||
|
||||
AIInfo *AIScanner::FindInfo(const char *nameParam, int versionParam)
|
||||
AIInfo *AIScanner::FindInfo(const char *nameParam, int versionParam, bool force_exact_match)
|
||||
{
|
||||
if (this->info_list.size() == 0) return NULL;
|
||||
if (nameParam == NULL) return NULL;
|
||||
@@ -299,21 +301,19 @@ AIInfo *AIScanner::FindInfo(const char *nameParam, int versionParam)
|
||||
/* Fall-through, like we were calling this function with a version */
|
||||
}
|
||||
|
||||
/* Try to find a direct 'name.version' match */
|
||||
char ai_name_tmp[1024];
|
||||
snprintf(ai_name_tmp, sizeof(ai_name_tmp), "%s.%d", ai_name, versionParam);
|
||||
strtolower(ai_name_tmp);
|
||||
if (this->info_list.find(ai_name_tmp) != this->info_list.end()) return this->info_list[ai_name_tmp];
|
||||
if (force_exact_match) {
|
||||
/* Try to find a direct 'name.version' match */
|
||||
char ai_name_tmp[1024];
|
||||
snprintf(ai_name_tmp, sizeof(ai_name_tmp), "%s.%d", ai_name, versionParam);
|
||||
strtolower(ai_name_tmp);
|
||||
if (this->info_list.find(ai_name_tmp) != this->info_list.end()) return this->info_list[ai_name_tmp];
|
||||
}
|
||||
|
||||
/* See if there is a compatible AI which goes by that name, with the highest
|
||||
* version which allows loading the requested version */
|
||||
AIInfoList::iterator it = this->info_list.begin();
|
||||
for (; it != this->info_list.end(); it++) {
|
||||
char ai_name_compare[1024];
|
||||
snprintf(ai_name_compare, sizeof(ai_name_compare), "%s", (*it).second->GetName());
|
||||
strtolower(ai_name_compare);
|
||||
|
||||
if (strcasecmp(ai_name, ai_name_compare) == 0 && (*it).second->CanLoadFromVersion(versionParam) && (version == -1 || (*it).second->GetVersion() > version)) {
|
||||
if (strcasecmp(ai_name, (*it).second->GetName()) == 0 && (*it).second->CanLoadFromVersion(versionParam) && (version == -1 || (*it).second->GetVersion() > version)) {
|
||||
version = (*it).second->GetVersion();
|
||||
info = (*it).second;
|
||||
}
|
||||
|
@@ -48,7 +48,7 @@ public:
|
||||
/**
|
||||
* Find an AI by name.
|
||||
*/
|
||||
class AIInfo *FindInfo(const char *name, int version);
|
||||
class AIInfo *FindInfo(const char *name, int version, bool force_exact_match);
|
||||
|
||||
/**
|
||||
* Get the list of available AIs for the console.
|
||||
|
@@ -437,8 +437,8 @@ int32 AIAbstractList::Begin()
|
||||
int32 AIAbstractList::Next()
|
||||
{
|
||||
if (this->initialized == false) {
|
||||
DEBUG(ai, 0, "ERROR: Next() is invalid as Begin() is never called");
|
||||
return false;
|
||||
DEBUG(ai, 0, "Next() is invalid as Begin() is never called");
|
||||
return 0;
|
||||
}
|
||||
return this->sorter->Next();
|
||||
}
|
||||
@@ -451,7 +451,7 @@ bool AIAbstractList::IsEmpty()
|
||||
bool AIAbstractList::HasNext()
|
||||
{
|
||||
if (this->initialized == false) {
|
||||
DEBUG(ai, 0, "ERROR: HasNext() is invalid as Begin() is never called");
|
||||
DEBUG(ai, 0, "HasNext() is invalid as Begin() is never called");
|
||||
return false;
|
||||
}
|
||||
return this->sorter->HasNext();
|
||||
@@ -517,6 +517,7 @@ void AIAbstractList::Sort(SorterType sorter, bool ascending)
|
||||
}
|
||||
this->sorter_type = sorter;
|
||||
this->sort_ascending = ascending;
|
||||
this->initialized = false;
|
||||
}
|
||||
|
||||
void AIAbstractList::AddList(AIAbstractList *list)
|
||||
@@ -534,12 +535,7 @@ void AIAbstractList::RemoveAboveValue(int32 value)
|
||||
|
||||
for (AIAbstractListMap::iterator next_iter, iter = this->items.begin(); iter != this->items.end(); iter = next_iter) {
|
||||
next_iter = iter; next_iter++;
|
||||
if ((*iter).second > value) this->items.erase(iter);
|
||||
}
|
||||
|
||||
for (AIAbstractListBucket::iterator next_iter, iter = this->buckets.begin(); iter != this->buckets.end(); iter = next_iter) {
|
||||
next_iter = iter; next_iter++;
|
||||
if ((*iter).first > value) this->buckets.erase(iter);
|
||||
if ((*iter).second > value) this->RemoveItem((*iter).first);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -549,12 +545,7 @@ void AIAbstractList::RemoveBelowValue(int32 value)
|
||||
|
||||
for (AIAbstractListMap::iterator next_iter, iter = this->items.begin(); iter != this->items.end(); iter = next_iter) {
|
||||
next_iter = iter; next_iter++;
|
||||
if ((*iter).second < value) this->items.erase(iter);
|
||||
}
|
||||
|
||||
for (AIAbstractListBucket::iterator next_iter, iter = this->buckets.begin(); iter != this->buckets.end(); iter = next_iter) {
|
||||
next_iter = iter; next_iter++;
|
||||
if ((*iter).first < value) this->buckets.erase(iter);
|
||||
if ((*iter).second < value) this->RemoveItem((*iter).first);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -564,12 +555,7 @@ void AIAbstractList::RemoveBetweenValue(int32 start, int32 end)
|
||||
|
||||
for (AIAbstractListMap::iterator next_iter, iter = this->items.begin(); iter != this->items.end(); iter = next_iter) {
|
||||
next_iter = iter; next_iter++;
|
||||
if ((*iter).second > start && (*iter).second < end) this->items.erase(iter);
|
||||
}
|
||||
|
||||
for (AIAbstractListBucket::iterator next_iter, iter = this->buckets.begin(); iter != this->buckets.end(); iter = next_iter) {
|
||||
next_iter = iter; next_iter++;
|
||||
if ((*iter).first > start && (*iter).first < end) this->buckets.erase(iter);
|
||||
if ((*iter).second > start && (*iter).second < end) this->RemoveItem((*iter).first);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -579,12 +565,7 @@ void AIAbstractList::RemoveValue(int32 value)
|
||||
|
||||
for (AIAbstractListMap::iterator next_iter, iter = this->items.begin(); iter != this->items.end(); iter = next_iter) {
|
||||
next_iter = iter; next_iter++;
|
||||
if ((*iter).second == value) this->items.erase(iter);
|
||||
}
|
||||
|
||||
for (AIAbstractListBucket::iterator next_iter, iter = this->buckets.begin(); iter != this->buckets.end(); iter = next_iter) {
|
||||
next_iter = iter; next_iter++;
|
||||
if ((*iter).first == value) this->buckets.erase(iter);
|
||||
if ((*iter).second == value) this->RemoveItem((*iter).first);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -677,12 +658,7 @@ void AIAbstractList::KeepAboveValue(int32 value)
|
||||
|
||||
for (AIAbstractListMap::iterator next_iter, iter = this->items.begin(); iter != this->items.end(); iter = next_iter) {
|
||||
next_iter = iter; next_iter++;
|
||||
if ((*iter).second <= value) this->items.erase(iter);
|
||||
}
|
||||
|
||||
for (AIAbstractListBucket::iterator next_iter, iter = this->buckets.begin(); iter != this->buckets.end(); iter = next_iter) {
|
||||
next_iter = iter; next_iter++;
|
||||
if ((*iter).first <= value) this->buckets.erase(iter);
|
||||
if ((*iter).second <= value) this->RemoveItem((*iter).first);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -692,12 +668,7 @@ void AIAbstractList::KeepBelowValue(int32 value)
|
||||
|
||||
for (AIAbstractListMap::iterator next_iter, iter = this->items.begin(); iter != this->items.end(); iter = next_iter) {
|
||||
next_iter = iter; next_iter++;
|
||||
if ((*iter).second >= value) this->items.erase(iter);
|
||||
}
|
||||
|
||||
for (AIAbstractListBucket::iterator next_iter, iter = this->buckets.begin(); iter != this->buckets.end(); iter = next_iter) {
|
||||
next_iter = iter; next_iter++;
|
||||
if ((*iter).first >= value) this->buckets.erase(iter);
|
||||
if ((*iter).second >= value) this->RemoveItem((*iter).first);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -707,12 +678,7 @@ void AIAbstractList::KeepBetweenValue(int32 start, int32 end)
|
||||
|
||||
for (AIAbstractListMap::iterator next_iter, iter = this->items.begin(); iter != this->items.end(); iter = next_iter) {
|
||||
next_iter = iter; next_iter++;
|
||||
if ((*iter).second <= start || (*iter).second >= end) this->items.erase(iter);
|
||||
}
|
||||
|
||||
for (AIAbstractListBucket::iterator next_iter, iter = this->buckets.begin(); iter != this->buckets.end(); iter = next_iter) {
|
||||
next_iter = iter; next_iter++;
|
||||
if ((*iter).first <= start || (*iter).first >= end) this->buckets.erase(iter);
|
||||
if ((*iter).second <= start || (*iter).second >= end) this->RemoveItem((*iter).first);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -722,12 +688,7 @@ void AIAbstractList::KeepValue(int32 value)
|
||||
|
||||
for (AIAbstractListMap::iterator next_iter, iter = this->items.begin(); iter != this->items.end(); iter = next_iter) {
|
||||
next_iter = iter; next_iter++;
|
||||
if ((*iter).second != value) this->items.erase(iter);
|
||||
}
|
||||
|
||||
for (AIAbstractListBucket::iterator next_iter, iter = this->buckets.begin(); iter != this->buckets.end(); iter = next_iter) {
|
||||
next_iter = iter; next_iter++;
|
||||
if ((*iter).first != value) this->buckets.erase(iter);
|
||||
if ((*iter).second != value) this->RemoveItem((*iter).first);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -63,6 +63,7 @@ protected:
|
||||
/**
|
||||
* Remove a single item from the list.
|
||||
* @param item the item to remove. If not existing, it is ignored.
|
||||
* @note Always use this function for removing items. It keeps the iterator valid!
|
||||
*/
|
||||
void RemoveItem(int32 item);
|
||||
|
||||
|
@@ -23,14 +23,21 @@
|
||||
* \li AIEngine::IsBuildable
|
||||
* \li AIEventCompanyAskMerger
|
||||
* \li AIIndustry::GetLastMonthTransportedPercentage
|
||||
* \li AIInfo::AICONFIG_INGAME
|
||||
* \li AIMarine::GetBuildCost
|
||||
* \li AIOrder::AIOF_GOTO_NEAREST_DEPOT
|
||||
* \li AIOrder::GetStopLocation
|
||||
* \li AIOrder::SetStopLocation
|
||||
* \li AIRail::RemoveRailStationTileRectangle
|
||||
* \li AIRail::RemoveRailWaypointTileRectangle
|
||||
* \li AIRail::GetBuildCost
|
||||
* \li AIRoad::GetBuildCost
|
||||
* \li AISubsidy::SubsidyParticipantType
|
||||
* \li AISubsidy::GetSourceType
|
||||
* \li AISubsidy::GetSourceIndex
|
||||
* \li AISubsidy::GetDestinationType
|
||||
* \li AISubsidy::GetDestinationIndex
|
||||
* \li AITile::GetBuildCost
|
||||
* \li AITown::GetLastMonthTransportedPercentage
|
||||
* \li AIVehicleList_Depot
|
||||
* \li AIWaypoint::WaypointType
|
||||
@@ -97,6 +104,12 @@
|
||||
* the search bounding box and the industry's bounding box intersect, are
|
||||
* counted. Previously these industries (and their cargos), although they
|
||||
* produced cargo for a station at the given location, were not returned.
|
||||
* \li AIRail::BuildRail will now fail completely if there is an obstacle
|
||||
* between the begin and end, instead of building up to the obstacle and
|
||||
* returning that everything went okay.
|
||||
* \li Orders for buoys are now waypoint orders, i.e. instead of using the
|
||||
* station orders for buoys one has to use waypoint orders.
|
||||
* \li Autoreplaces can now also be set for the default group via AIGroup.
|
||||
*
|
||||
* \b 0.7.5
|
||||
*
|
||||
|
@@ -11,6 +11,7 @@
|
||||
|
||||
#include "ai_gamesettings.hpp"
|
||||
#include "../../settings_internal.h"
|
||||
#include "../../economy_func.h"
|
||||
|
||||
/* static */ bool AIGameSettings::IsValid(const char *setting)
|
||||
{
|
||||
|
@@ -112,7 +112,7 @@
|
||||
|
||||
/* static */ bool AIGroup::SetAutoReplace(GroupID group_id, EngineID engine_id_old, EngineID engine_id_new)
|
||||
{
|
||||
EnforcePrecondition(false, IsValidGroup(group_id) || group_id == GROUP_ALL);
|
||||
EnforcePrecondition(false, IsValidGroup(group_id) || group_id == GROUP_DEFAULT || group_id == GROUP_ALL);
|
||||
EnforcePrecondition(false, AIEngine::IsBuildable(engine_id_new));
|
||||
|
||||
return AIObject::DoCommand(0, group_id << 16, (engine_id_new << 16) | engine_id_old, CMD_SET_AUTOREPLACE);
|
||||
@@ -120,14 +120,14 @@
|
||||
|
||||
/* static */ EngineID AIGroup::GetEngineReplacement(GroupID group_id, EngineID engine_id)
|
||||
{
|
||||
if (!IsValidGroup(group_id) && group_id != GROUP_ALL) return ::INVALID_ENGINE;
|
||||
if (!IsValidGroup(group_id) && group_id != GROUP_DEFAULT && group_id != GROUP_ALL) return ::INVALID_ENGINE;
|
||||
|
||||
return ::EngineReplacementForCompany(Company::Get(_current_company), engine_id, group_id);
|
||||
}
|
||||
|
||||
/* static */ bool AIGroup::StopAutoReplace(GroupID group_id, EngineID engine_id)
|
||||
{
|
||||
EnforcePrecondition(false, IsValidGroup(group_id) || group_id == GROUP_ALL);
|
||||
EnforcePrecondition(false, IsValidGroup(group_id) || group_id == GROUP_DEFAULT || group_id == GROUP_ALL);
|
||||
|
||||
return AIObject::DoCommand(0, group_id << 16, (::INVALID_ENGINE << 16) | engine_id, CMD_SET_AUTOREPLACE);
|
||||
}
|
||||
|
@@ -148,7 +148,7 @@ public:
|
||||
* vehicles from all groups that haven't set autoreplace protection.
|
||||
* @param engine_id_old The engine id to start replacing.
|
||||
* @param engine_id_new The engine id to replace with.
|
||||
* @pre IsValidGroup(group_id) || group_id == GROUP_ALL.
|
||||
* @pre IsValidGroup(group_id) || group_id == GROUP_DEFAULT || group_id == GROUP_ALL.
|
||||
* @pre AIEngine.IsBuildable(engine_id_new).
|
||||
* @note To stop autoreplacing engine_id_old, call StopAutoReplace(group_id, engine_id_old).
|
||||
*/
|
||||
@@ -158,7 +158,7 @@ public:
|
||||
* Get the EngineID the given EngineID is replaced with.
|
||||
* @param group_id The group to get the replacement from.
|
||||
* @param engine_id The engine that is being replaced.
|
||||
* @pre IsValidGroup(group_id) || group_id == GROUP_ALL.
|
||||
* @pre IsValidGroup(group_id) || group_id == GROUP_DEFAULT || group_id == GROUP_ALL.
|
||||
* @return The EngineID that is replacing engine_id or an invalid EngineID
|
||||
* in case engine_id is not begin replaced.
|
||||
*/
|
||||
@@ -168,7 +168,7 @@ public:
|
||||
* Stop replacing a certain engine in the specified group.
|
||||
* @param group_id The group to stop replacing the engine in.
|
||||
* @param engine_id The engine id to stop replacing with another engine.
|
||||
* @pre IsValidGroup(group_id) || group_id == GROUP_ALL.
|
||||
* @pre IsValidGroup(group_id) || group_id == GROUP_DEFAULT || group_id == GROUP_ALL.
|
||||
* @return True if and if the replacing was succesfully stopped.
|
||||
*/
|
||||
static bool StopAutoReplace(GroupID group_id, EngineID engine_id);
|
||||
|
@@ -184,6 +184,7 @@ public:
|
||||
AICONFIG_NONE, //!< Normal setting.
|
||||
AICONFIG_RANDOM, //!< When randomizing the AI, pick any value between min_value and max_value.
|
||||
AICONFIG_BOOLEAN, //!< This value is a boolean (either 0 (false) or 1 (true) ).
|
||||
AICONFIG_INGAME, //!< This setting can be changed while the AI is running.
|
||||
};
|
||||
|
||||
/**
|
||||
|
@@ -13,6 +13,7 @@
|
||||
#include "ai_station.hpp"
|
||||
#include "../../station_base.h"
|
||||
#include "../../tile_cmd.h"
|
||||
#include "../../economy_func.h"
|
||||
|
||||
|
||||
/* static */ bool AIMarine::IsWaterDepotTile(TileIndex tile)
|
||||
@@ -149,3 +150,13 @@
|
||||
|
||||
return AIObject::DoCommand(tile, 0, 0, CMD_LANDSCAPE_CLEAR);
|
||||
}
|
||||
|
||||
/* static */ Money AIMarine::GetBuildCost(BuildType build_type)
|
||||
{
|
||||
switch (build_type) {
|
||||
case BT_DOCK: return ::GetPrice(PR_BUILD_STATION_DOCK, 1, NULL);
|
||||
case BT_DEPOT: return ::GetPrice(PR_BUILD_DEPOT_SHIP, 1, NULL);
|
||||
case BT_BUOY: return ::GetPrice(PR_BUILD_WAYPOINT_BUOY, 1, NULL);
|
||||
default: return -1;
|
||||
}
|
||||
}
|
||||
|
@@ -33,6 +33,15 @@ public:
|
||||
ERR_MARINE_MUST_BE_BUILT_ON_WATER, // [STR_ERROR_MUST_BE_BUILT_ON_WATER]
|
||||
};
|
||||
|
||||
/**
|
||||
* Types of water-related objects in the game.
|
||||
*/
|
||||
enum BuildType {
|
||||
BT_DOCK, //!< Build a dock
|
||||
BT_DEPOT, //!< Build a ship depot
|
||||
BT_BUOY, //!< Build a buoy
|
||||
};
|
||||
|
||||
/**
|
||||
* Checks whether the given tile is actually a tile with a water depot.
|
||||
* @param tile The tile to check.
|
||||
@@ -191,6 +200,13 @@ public:
|
||||
* @return Whether the canal has been/can be removed or not.
|
||||
*/
|
||||
static bool RemoveCanal(TileIndex tile);
|
||||
|
||||
/**
|
||||
* Get the baseprice of building a water-related object.
|
||||
* @param build_type the type of object to build
|
||||
* @return The baseprice of building the given object.
|
||||
*/
|
||||
static Money GetBuildCost(BuildType build_type);
|
||||
};
|
||||
|
||||
#endif /* AI_MARINE_HPP */
|
||||
|
@@ -15,6 +15,8 @@ namespace SQConvert {
|
||||
/* Allow enums to be used as Squirrel parameters */
|
||||
template <> AIMarine::ErrorMessages GetParam(ForceType<AIMarine::ErrorMessages>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQInteger tmp; sq_getinteger(vm, index, &tmp); return (AIMarine::ErrorMessages)tmp; }
|
||||
template <> int Return<AIMarine::ErrorMessages>(HSQUIRRELVM vm, AIMarine::ErrorMessages res) { sq_pushinteger(vm, (int32)res); return 1; }
|
||||
template <> AIMarine::BuildType GetParam(ForceType<AIMarine::BuildType>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQInteger tmp; sq_getinteger(vm, index, &tmp); return (AIMarine::BuildType)tmp; }
|
||||
template <> int Return<AIMarine::BuildType>(HSQUIRRELVM vm, AIMarine::BuildType res) { sq_pushinteger(vm, (int32)res); return 1; }
|
||||
|
||||
/* Allow AIMarine to be used as Squirrel parameter */
|
||||
template <> AIMarine *GetParam(ForceType<AIMarine *>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIMarine *)instance; }
|
||||
@@ -32,6 +34,9 @@ void SQAIMarine_Register(Squirrel *engine)
|
||||
|
||||
SQAIMarine.DefSQConst(engine, AIMarine::ERR_MARINE_BASE, "ERR_MARINE_BASE");
|
||||
SQAIMarine.DefSQConst(engine, AIMarine::ERR_MARINE_MUST_BE_BUILT_ON_WATER, "ERR_MARINE_MUST_BE_BUILT_ON_WATER");
|
||||
SQAIMarine.DefSQConst(engine, AIMarine::BT_DOCK, "BT_DOCK");
|
||||
SQAIMarine.DefSQConst(engine, AIMarine::BT_DEPOT, "BT_DEPOT");
|
||||
SQAIMarine.DefSQConst(engine, AIMarine::BT_BUOY, "BT_BUOY");
|
||||
|
||||
AIError::RegisterErrorMap(STR_ERROR_MUST_BE_BUILT_ON_WATER, AIMarine::ERR_MARINE_MUST_BE_BUILT_ON_WATER);
|
||||
|
||||
@@ -53,6 +58,7 @@ void SQAIMarine_Register(Squirrel *engine)
|
||||
SQAIMarine.DefSQStaticMethod(engine, &AIMarine::RemoveBuoy, "RemoveBuoy", 2, ".i");
|
||||
SQAIMarine.DefSQStaticMethod(engine, &AIMarine::RemoveLock, "RemoveLock", 2, ".i");
|
||||
SQAIMarine.DefSQStaticMethod(engine, &AIMarine::RemoveCanal, "RemoveCanal", 2, ".i");
|
||||
SQAIMarine.DefSQStaticMethod(engine, &AIMarine::GetBuildCost, "GetBuildCost", 2, ".i");
|
||||
|
||||
SQAIMarine.PostRegister(engine);
|
||||
}
|
||||
|
@@ -188,8 +188,7 @@ static const Order *ResolveOrder(VehicleID vehicle_id, AIOrder::OrderPosition or
|
||||
case OT_GOTO_STATION: {
|
||||
const Station *st = ::Station::Get(order->GetDestination());
|
||||
if (st->train_station.tile != INVALID_TILE) {
|
||||
for (uint i = 0; i < st->train_station.w; i++) {
|
||||
TileIndex t = st->train_station.tile + TileDiffXY(i, 0);
|
||||
TILE_AREA_LOOP(t, st->train_station) {
|
||||
if (st->TileBelongsToRailStation(t)) return t;
|
||||
}
|
||||
} else if (st->dock_tile != INVALID_TILE) {
|
||||
@@ -206,7 +205,17 @@ static const Order *ResolveOrder(VehicleID vehicle_id, AIOrder::OrderPosition or
|
||||
}
|
||||
return INVALID_TILE;
|
||||
}
|
||||
case OT_GOTO_WAYPOINT: return ::Waypoint::Get(order->GetDestination())->xy;
|
||||
|
||||
case OT_GOTO_WAYPOINT: {
|
||||
const Waypoint *wp = ::Waypoint::Get(order->GetDestination());
|
||||
if (wp->train_station.tile != INVALID_TILE) {
|
||||
TILE_AREA_LOOP(t, wp->train_station) {
|
||||
if (wp->TileBelongsToRailStation(t)) return t;
|
||||
}
|
||||
}
|
||||
/* If the waypoint has no rail waypoint tiles, it must have a buoy */
|
||||
return wp->xy;
|
||||
}
|
||||
default: return INVALID_TILE;
|
||||
}
|
||||
}
|
||||
@@ -276,6 +285,16 @@ static const Order *ResolveOrder(VehicleID vehicle_id, AIOrder::OrderPosition or
|
||||
return value;
|
||||
}
|
||||
|
||||
/* static */ AIOrder::StopLocation AIOrder::GetStopLocation(VehicleID vehicle_id, OrderPosition order_position)
|
||||
{
|
||||
if (!IsValidVehicleOrder(vehicle_id, order_position)) return STOPLOCATION_INVALID;
|
||||
if (AIVehicle::GetVehicleType(vehicle_id) != AIVehicle::VT_RAIL) return STOPLOCATION_INVALID;
|
||||
if (!IsGotoStationOrder(vehicle_id, order_position)) return STOPLOCATION_INVALID;
|
||||
|
||||
const Order *order = Vehicle::Get(vehicle_id)->GetOrder(order_position);
|
||||
return (AIOrder::StopLocation)order->GetStopLocation();
|
||||
}
|
||||
|
||||
/* static */ bool AIOrder::SetOrderJumpTo(VehicleID vehicle_id, OrderPosition order_position, OrderPosition jump_to)
|
||||
{
|
||||
EnforcePrecondition(false, IsValidVehicleOrder(vehicle_id, order_position));
|
||||
@@ -313,6 +332,18 @@ static const Order *ResolveOrder(VehicleID vehicle_id, AIOrder::OrderPosition or
|
||||
return AIObject::DoCommand(0, vehicle_id | (order_position << 16), MOF_COND_VALUE | (value << 4), CMD_MODIFY_ORDER);
|
||||
}
|
||||
|
||||
/* static */ bool AIOrder::SetStopLocation(VehicleID vehicle_id, OrderPosition order_position, StopLocation stop_location)
|
||||
{
|
||||
EnforcePrecondition(false, IsValidVehicleOrder(vehicle_id, order_position));
|
||||
EnforcePrecondition(false, AIVehicle::GetVehicleType(vehicle_id) == AIVehicle::VT_RAIL);
|
||||
EnforcePrecondition(false, IsGotoStationOrder(vehicle_id, order_position));
|
||||
EnforcePrecondition(false, stop_location >= STOPLOCATION_NEAR && stop_location <= STOPLOCATION_FAR);
|
||||
|
||||
uint32 p1 = vehicle_id | (order_position << 16);
|
||||
uint32 p2 = MOF_STOP_LOCATION | (stop_location << 4);
|
||||
return AIObject::DoCommand(0, p1, p2, CMD_MODIFY_ORDER);
|
||||
}
|
||||
|
||||
/* static */ bool AIOrder::AppendOrder(VehicleID vehicle_id, TileIndex destination, AIOrderFlags order_flags)
|
||||
{
|
||||
EnforcePrecondition(false, AIVehicle::IsValidVehicle(vehicle_id));
|
||||
|
@@ -118,6 +118,14 @@ public:
|
||||
ORDER_INVALID = -1, //!< An invalid order.
|
||||
};
|
||||
|
||||
/** Where to stop trains in a station that's longer then the train */
|
||||
enum StopLocation {
|
||||
STOPLOCATION_NEAR, //!< Stop the train as soon as it's completely in the station
|
||||
STOPLOCATION_MIDDLE, //!< Stop the train in the middle of the station
|
||||
STOPLOCATION_FAR, //!< Stop the train at the far end of the station
|
||||
STOPLOCATION_INVALID = -1, //!< An invalid stop location
|
||||
};
|
||||
|
||||
/**
|
||||
* Checks whether the given order id is valid for the given vehicle.
|
||||
* @param vehicle_id The vehicle to check the order index for.
|
||||
@@ -281,6 +289,17 @@ public:
|
||||
*/
|
||||
static int32 GetOrderCompareValue(VehicleID vehicle_id, OrderPosition order_position);
|
||||
|
||||
/**
|
||||
* Gets the stoplocation of the given order for the given train.
|
||||
* @param vehicle_id The vehicle to get the value for.
|
||||
* @param order_position The order to get the value for.
|
||||
* @pre IsValidVehicleOrder(vehicle_id, order_position).
|
||||
* @pre AIVehicle::GetVehicleType(vehicle_id) == AIVehicle::VT_RAIL.
|
||||
* @pre IsGotoStationOrder(vehicle_id, order_position).
|
||||
* @return The relative position where the train will stop inside a station.
|
||||
*/
|
||||
static StopLocation GetStopLocation(VehicleID vehicle_id, OrderPosition order_position);
|
||||
|
||||
/**
|
||||
* Sets the OrderPosition to jump to if the check succeeds of the given order for the given vehicle.
|
||||
* @param vehicle_id The vehicle to set the OrderPosition for.
|
||||
@@ -329,6 +348,19 @@ public:
|
||||
*/
|
||||
static bool SetOrderCompareValue(VehicleID vehicle_id, OrderPosition order_position, int32 value);
|
||||
|
||||
/**
|
||||
* Sets the stoplocation of the given order for the given train.
|
||||
* @param vehicle_id The vehicle to get the value for.
|
||||
* @param order_position The order to get the value for.
|
||||
* @param stop_location The relative position where a train will stop inside a station.
|
||||
* @pre IsValidVehicleOrder(vehicle_id, order_position).
|
||||
* @pre AIVehicle::GetVehicleType(vehicle_id) == AIVehicle::VT_RAIL.
|
||||
* @pre IsGotoStationOrder(vehicle_id, order_position).
|
||||
* @pre stop_location >= STOPLOCATION_NEAR && stop_location <= STOPLOCATION_FAR
|
||||
* @return Whether the order has been/can be changed.
|
||||
*/
|
||||
static bool SetStopLocation(VehicleID vehicle_id, OrderPosition order_position, StopLocation stop_location);
|
||||
|
||||
/**
|
||||
* Appends an order to the end of the vehicle's order list.
|
||||
* @param vehicle_id The vehicle to append the order to.
|
||||
|
@@ -23,6 +23,8 @@ namespace SQConvert {
|
||||
template <> int Return<AIOrder::CompareFunction>(HSQUIRRELVM vm, AIOrder::CompareFunction res) { sq_pushinteger(vm, (int32)res); return 1; }
|
||||
template <> AIOrder::OrderPosition GetParam(ForceType<AIOrder::OrderPosition>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQInteger tmp; sq_getinteger(vm, index, &tmp); return (AIOrder::OrderPosition)tmp; }
|
||||
template <> int Return<AIOrder::OrderPosition>(HSQUIRRELVM vm, AIOrder::OrderPosition res) { sq_pushinteger(vm, (int32)res); return 1; }
|
||||
template <> AIOrder::StopLocation GetParam(ForceType<AIOrder::StopLocation>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQInteger tmp; sq_getinteger(vm, index, &tmp); return (AIOrder::StopLocation)tmp; }
|
||||
template <> int Return<AIOrder::StopLocation>(HSQUIRRELVM vm, AIOrder::StopLocation res) { sq_pushinteger(vm, (int32)res); return 1; }
|
||||
|
||||
/* Allow AIOrder to be used as Squirrel parameter */
|
||||
template <> AIOrder *GetParam(ForceType<AIOrder *>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIOrder *)instance; }
|
||||
@@ -76,6 +78,10 @@ void SQAIOrder_Register(Squirrel *engine)
|
||||
SQAIOrder.DefSQConst(engine, AIOrder::CF_INVALID, "CF_INVALID");
|
||||
SQAIOrder.DefSQConst(engine, AIOrder::ORDER_CURRENT, "ORDER_CURRENT");
|
||||
SQAIOrder.DefSQConst(engine, AIOrder::ORDER_INVALID, "ORDER_INVALID");
|
||||
SQAIOrder.DefSQConst(engine, AIOrder::STOPLOCATION_NEAR, "STOPLOCATION_NEAR");
|
||||
SQAIOrder.DefSQConst(engine, AIOrder::STOPLOCATION_MIDDLE, "STOPLOCATION_MIDDLE");
|
||||
SQAIOrder.DefSQConst(engine, AIOrder::STOPLOCATION_FAR, "STOPLOCATION_FAR");
|
||||
SQAIOrder.DefSQConst(engine, AIOrder::STOPLOCATION_INVALID, "STOPLOCATION_INVALID");
|
||||
|
||||
AIError::RegisterErrorMap(STR_ERROR_NO_MORE_SPACE_FOR_ORDERS, AIOrder::ERR_ORDER_TOO_MANY);
|
||||
AIError::RegisterErrorMap(STR_ERROR_TOO_FAR_FROM_PREVIOUS_DESTINATION, AIOrder::ERR_ORDER_TOO_FAR_AWAY_FROM_PREVIOUS_DESTINATION);
|
||||
@@ -99,10 +105,12 @@ void SQAIOrder_Register(Squirrel *engine)
|
||||
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::GetStopLocation, "GetStopLocation", 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::SetStopLocation, "SetStopLocation", 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");
|
||||
|
@@ -19,6 +19,7 @@
|
||||
#include "../../newgrf.h"
|
||||
#include "../../newgrf_generic.h"
|
||||
#include "../../newgrf_station.h"
|
||||
#include "../../economy_func.h"
|
||||
|
||||
/* static */ bool AIRail::IsRailTile(TileIndex tile)
|
||||
{
|
||||
@@ -331,7 +332,7 @@ static uint32 SimulateDrag(TileIndex from, TileIndex tile, TileIndex *to)
|
||||
(::TileX(from) == ::TileX(tile) && ::TileX(tile) == ::TileX(to)) ||
|
||||
(::TileY(from) == ::TileY(tile) && ::TileY(tile) == ::TileY(to)));
|
||||
|
||||
uint32 p2 = SimulateDrag(from, tile, &to);
|
||||
uint32 p2 = SimulateDrag(from, tile, &to) | 1 << 8;
|
||||
return AIObject::DoCommand(tile, to, p2, CMD_BUILD_RAILROAD_TRACK);
|
||||
}
|
||||
|
||||
@@ -454,3 +455,17 @@ static bool IsValidSignalType(int signal_type)
|
||||
|
||||
return AIObject::DoCommand(tile, track, 0, CMD_REMOVE_SIGNALS);
|
||||
}
|
||||
|
||||
/* static */ Money AIRail::GetBuildCost(RailType railtype, BuildType build_type)
|
||||
{
|
||||
if (!AIRail::IsRailTypeAvailable(railtype)) return -1;
|
||||
|
||||
switch (build_type) {
|
||||
case BT_TRACK: return ::RailBuildCost((::RailType)railtype);
|
||||
case BT_SIGNAL: return ::GetPrice(PR_BUILD_SIGNALS, 1, NULL);
|
||||
case BT_DEPOT: return ::GetPrice(PR_BUILD_DEPOT_TRAIN, 1, NULL);
|
||||
case BT_STATION: return ::GetPrice(PR_BUILD_STATION_RAIL, 1, NULL) + ::GetPrice(PR_BUILD_STATION_RAIL_LENGTH, 1, NULL);
|
||||
case BT_WAYPOINT: return ::GetPrice(PR_BUILD_WAYPOINT_RAIL, 1, NULL);
|
||||
default: return -1;
|
||||
}
|
||||
}
|
||||
|
@@ -81,6 +81,17 @@ public:
|
||||
SIGNALTYPE_NONE = 0xFF, //!< No signal.
|
||||
};
|
||||
|
||||
/**
|
||||
* Types of rail-related objects in the game.
|
||||
*/
|
||||
enum BuildType {
|
||||
BT_TRACK, //!< Build a track
|
||||
BT_SIGNAL, //!< Build a signal
|
||||
BT_DEPOT, //!< Build a depot
|
||||
BT_STATION, //!< Build a station
|
||||
BT_WAYPOINT, //!< Build a rail waypoint
|
||||
};
|
||||
|
||||
/**
|
||||
* Checks whether the given tile is actually a tile with rail that can be
|
||||
* used to traverse a tile. This excludes rail depots but includes
|
||||
@@ -369,6 +380,7 @@ public:
|
||||
* @exception AIRail::ERR_CROSSING_ON_ONEWAY_ROAD
|
||||
* @exception AIRoad::ERR_ROAD_WORKS_IN_PROGRESS
|
||||
* @exception AIError::ERR_ALREADY_BUILT
|
||||
* @note Construction will fail if an obstacle is found between the start and end tiles.
|
||||
* @return Whether the rail has been/can be build or not.
|
||||
*/
|
||||
static bool BuildRail(TileIndex from, TileIndex tile, TileIndex to);
|
||||
@@ -419,6 +431,15 @@ public:
|
||||
* @return Whether the signal has been/can be removed or not.
|
||||
*/
|
||||
static bool RemoveSignal(TileIndex tile, TileIndex front);
|
||||
|
||||
/**
|
||||
* Get the baseprice of building a rail-related object.
|
||||
* @param railtype the railtype that is build (on)
|
||||
* @param build_type the type of object to build
|
||||
* @pre IsRailTypeAvailable(railtype)
|
||||
* @return The baseprice of building the given object.
|
||||
*/
|
||||
static Money GetBuildCost(RailType railtype, BuildType build_type);
|
||||
};
|
||||
|
||||
#endif /* AI_RAIL_HPP */
|
||||
|
@@ -21,6 +21,8 @@ namespace SQConvert {
|
||||
template <> int Return<AIRail::RailTrack>(HSQUIRRELVM vm, AIRail::RailTrack res) { sq_pushinteger(vm, (int32)res); return 1; }
|
||||
template <> AIRail::SignalType GetParam(ForceType<AIRail::SignalType>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQInteger tmp; sq_getinteger(vm, index, &tmp); return (AIRail::SignalType)tmp; }
|
||||
template <> int Return<AIRail::SignalType>(HSQUIRRELVM vm, AIRail::SignalType res) { sq_pushinteger(vm, (int32)res); return 1; }
|
||||
template <> AIRail::BuildType GetParam(ForceType<AIRail::BuildType>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQInteger tmp; sq_getinteger(vm, index, &tmp); return (AIRail::BuildType)tmp; }
|
||||
template <> int Return<AIRail::BuildType>(HSQUIRRELVM vm, AIRail::BuildType res) { sq_pushinteger(vm, (int32)res); return 1; }
|
||||
|
||||
/* Allow AIRail to be used as Squirrel parameter */
|
||||
template <> AIRail *GetParam(ForceType<AIRail *>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIRail *)instance; }
|
||||
@@ -60,6 +62,11 @@ void SQAIRail_Register(Squirrel *engine)
|
||||
SQAIRail.DefSQConst(engine, AIRail::SIGNALTYPE_EXIT_TWOWAY, "SIGNALTYPE_EXIT_TWOWAY");
|
||||
SQAIRail.DefSQConst(engine, AIRail::SIGNALTYPE_COMBO_TWOWAY, "SIGNALTYPE_COMBO_TWOWAY");
|
||||
SQAIRail.DefSQConst(engine, AIRail::SIGNALTYPE_NONE, "SIGNALTYPE_NONE");
|
||||
SQAIRail.DefSQConst(engine, AIRail::BT_TRACK, "BT_TRACK");
|
||||
SQAIRail.DefSQConst(engine, AIRail::BT_SIGNAL, "BT_SIGNAL");
|
||||
SQAIRail.DefSQConst(engine, AIRail::BT_DEPOT, "BT_DEPOT");
|
||||
SQAIRail.DefSQConst(engine, AIRail::BT_STATION, "BT_STATION");
|
||||
SQAIRail.DefSQConst(engine, AIRail::BT_WAYPOINT, "BT_WAYPOINT");
|
||||
|
||||
AIError::RegisterErrorMap(STR_ERROR_CROSSING_ON_ONEWAY_ROAD, AIRail::ERR_CROSSING_ON_ONEWAY_ROAD);
|
||||
AIError::RegisterErrorMap(STR_ERROR_NO_SUITABLE_RAILROAD_TRACK, AIRail::ERR_UNSUITABLE_TRACK);
|
||||
@@ -98,6 +105,7 @@ void SQAIRail_Register(Squirrel *engine)
|
||||
SQAIRail.DefSQStaticMethod(engine, &AIRail::GetSignalType, "GetSignalType", 3, ".ii");
|
||||
SQAIRail.DefSQStaticMethod(engine, &AIRail::BuildSignal, "BuildSignal", 4, ".iii");
|
||||
SQAIRail.DefSQStaticMethod(engine, &AIRail::RemoveSignal, "RemoveSignal", 3, ".ii");
|
||||
SQAIRail.DefSQStaticMethod(engine, &AIRail::GetBuildCost, "GetBuildCost", 3, ".ii");
|
||||
|
||||
SQAIRail.PostRegister(engine);
|
||||
}
|
||||
|
@@ -471,7 +471,7 @@ static bool NeighbourHasReachableRoad(::RoadTypes rts, TileIndex start_tile, Dia
|
||||
EnforcePrecondition(false, !one_way || AIObject::GetRoadType() == ::ROADTYPE_ROAD);
|
||||
EnforcePrecondition(false, IsRoadTypeAvailable(GetCurrentRoadType()));
|
||||
|
||||
return AIObject::DoCommand(start, end, (::TileY(start) != ::TileY(end) ? 4 : 0) | (((start < end) == !full) ? 1 : 2) | (AIObject::GetRoadType() << 3) | ((one_way ? 1 : 0) << 5), CMD_BUILD_LONG_ROAD);
|
||||
return AIObject::DoCommand(start, end, (::TileY(start) != ::TileY(end) ? 4 : 0) | (((start < end) == !full) ? 1 : 2) | (AIObject::GetRoadType() << 3) | ((one_way ? 1 : 0) << 5) | 1 << 6, CMD_BUILD_LONG_ROAD);
|
||||
}
|
||||
|
||||
/* static */ bool AIRoad::BuildRoad(TileIndex start, TileIndex end)
|
||||
@@ -549,7 +549,7 @@ static bool NeighbourHasReachableRoad(::RoadTypes rts, TileIndex start_tile, Dia
|
||||
EnforcePrecondition(false, ::TileX(start) == ::TileX(end) || ::TileY(start) == ::TileY(end));
|
||||
EnforcePrecondition(false, IsRoadTypeAvailable(GetCurrentRoadType()));
|
||||
|
||||
return AIObject::DoCommand(end, start, (::TileY(start) != ::TileY(end) ? 4 : 0) | (start < end ? 1 : 2) | (AIObject::GetRoadType() << 3), CMD_REMOVE_LONG_ROAD);
|
||||
return AIObject::DoCommand(start, end, (::TileY(start) != ::TileY(end) ? 4 : 0) | (start < end ? 1 : 2) | (AIObject::GetRoadType() << 3), CMD_REMOVE_LONG_ROAD);
|
||||
}
|
||||
|
||||
/* static */ bool AIRoad::RemoveRoadFull(TileIndex start, TileIndex end)
|
||||
@@ -559,7 +559,7 @@ static bool NeighbourHasReachableRoad(::RoadTypes rts, TileIndex start_tile, Dia
|
||||
EnforcePrecondition(false, ::TileX(start) == ::TileX(end) || ::TileY(start) == ::TileY(end));
|
||||
EnforcePrecondition(false, IsRoadTypeAvailable(GetCurrentRoadType()));
|
||||
|
||||
return AIObject::DoCommand(end, start, (::TileY(start) != ::TileY(end) ? 4 : 0) | (start < end ? 2 : 1) | (AIObject::GetRoadType() << 3), CMD_REMOVE_LONG_ROAD);
|
||||
return AIObject::DoCommand(start, end, (::TileY(start) != ::TileY(end) ? 4 : 0) | (start < end ? 2 : 1) | (AIObject::GetRoadType() << 3), CMD_REMOVE_LONG_ROAD);
|
||||
}
|
||||
|
||||
/* static */ bool AIRoad::RemoveRoadDepot(TileIndex tile)
|
||||
@@ -579,3 +579,16 @@ static bool NeighbourHasReachableRoad(::RoadTypes rts, TileIndex start_tile, Dia
|
||||
|
||||
return AIObject::DoCommand(tile, 0, GetRoadStopType(tile), CMD_REMOVE_ROAD_STOP);
|
||||
}
|
||||
|
||||
/* static */ Money AIRoad::GetBuildCost(RoadType roadtype, BuildType build_type)
|
||||
{
|
||||
if (!AIRoad::IsRoadTypeAvailable(roadtype)) return -1;
|
||||
|
||||
switch (build_type) {
|
||||
case BT_ROAD: return ::GetPrice(PR_BUILD_ROAD, 1, NULL);
|
||||
case BT_DEPOT: return ::GetPrice(PR_BUILD_DEPOT_ROAD, 1, NULL);
|
||||
case BT_BUS_STOP: return ::GetPrice(PR_BUILD_STATION_BUS, 1, NULL);
|
||||
case BT_TRUCK_STOP: return ::GetPrice(PR_BUILD_STATION_TRUCK, 1, NULL);
|
||||
default: return -1;
|
||||
}
|
||||
}
|
||||
|
@@ -63,6 +63,16 @@ public:
|
||||
ROADVEHTYPE_TRUCK, //!< Build objects useable for trucks and cargo trams
|
||||
};
|
||||
|
||||
/**
|
||||
* Types of road-related objects in the game.
|
||||
*/
|
||||
enum BuildType {
|
||||
BT_ROAD, //!< Build a piece of road
|
||||
BT_DEPOT, //!< Build a road depot
|
||||
BT_BUS_STOP, //!< Build a bus stop
|
||||
BT_TRUCK_STOP, //!< Build a truck stop
|
||||
};
|
||||
|
||||
/**
|
||||
* Determines whether a busstop or a truckstop is needed to transport a certain cargo.
|
||||
* @param cargo_type The cargo to test.
|
||||
@@ -253,6 +263,7 @@ public:
|
||||
* @exception AIRoad::ERR_ROAD_ONE_WAY_ROADS_CANNOT_HAVE_JUNCTIONS
|
||||
* @exception AIRoad::ERR_ROAD_WORKS_IN_PROGRESS
|
||||
* @exception AIError::ERR_VEHICLE_IN_THE_WAY
|
||||
* @note Construction will fail if an obstacle is found between the start and end tiles.
|
||||
* @return Whether the road has been/can be build or not.
|
||||
*/
|
||||
static bool BuildRoad(TileIndex start, TileIndex end);
|
||||
@@ -279,6 +290,7 @@ public:
|
||||
* @exception AIRoad::ERR_ROAD_ONE_WAY_ROADS_CANNOT_HAVE_JUNCTIONS
|
||||
* @exception AIRoad::ERR_ROAD_WORKS_IN_PROGRESS
|
||||
* @exception AIError::ERR_VEHICLE_IN_THE_WAY
|
||||
* @note Construction will fail if an obstacle is found between the start and end tiles.
|
||||
* @return Whether the road has been/can be build or not.
|
||||
*/
|
||||
static bool BuildOneWayRoad(TileIndex start, TileIndex end);
|
||||
@@ -301,6 +313,7 @@ public:
|
||||
* @exception AIRoad::ERR_ROAD_ONE_WAY_ROADS_CANNOT_HAVE_JUNCTIONS
|
||||
* @exception AIRoad::ERR_ROAD_WORKS_IN_PROGRESS
|
||||
* @exception AIError::ERR_VEHICLE_IN_THE_WAY
|
||||
* @note Construction will fail if an obstacle is found between the start and end tiles.
|
||||
* @return Whether the road has been/can be build or not.
|
||||
*/
|
||||
static bool BuildRoadFull(TileIndex start, TileIndex end);
|
||||
@@ -328,6 +341,7 @@ public:
|
||||
* @exception AIRoad::ERR_ROAD_ONE_WAY_ROADS_CANNOT_HAVE_JUNCTIONS
|
||||
* @exception AIRoad::ERR_ROAD_WORKS_IN_PROGRESS
|
||||
* @exception AIError::ERR_VEHICLE_IN_THE_WAY
|
||||
* @note Construction will fail if an obstacle is found between the start and end tiles.
|
||||
* @return Whether the road has been/can be build or not.
|
||||
*/
|
||||
static bool BuildOneWayRoadFull(TileIndex start, TileIndex end);
|
||||
@@ -451,6 +465,15 @@ public:
|
||||
*/
|
||||
static bool RemoveRoadStation(TileIndex tile);
|
||||
|
||||
/**
|
||||
* Get the baseprice of building a road-related object.
|
||||
* @param roadtype the roadtype that is build (on)
|
||||
* @param build_type the type of object to build
|
||||
* @pre IsRoadTypeAvailable(railtype)
|
||||
* @return The baseprice of building the given object.
|
||||
*/
|
||||
static Money GetBuildCost(RoadType roadtype, BuildType build_type);
|
||||
|
||||
private:
|
||||
|
||||
/**
|
||||
|
@@ -19,6 +19,8 @@ namespace SQConvert {
|
||||
template <> int Return<AIRoad::RoadType>(HSQUIRRELVM vm, AIRoad::RoadType res) { sq_pushinteger(vm, (int32)res); return 1; }
|
||||
template <> AIRoad::RoadVehicleType GetParam(ForceType<AIRoad::RoadVehicleType>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQInteger tmp; sq_getinteger(vm, index, &tmp); return (AIRoad::RoadVehicleType)tmp; }
|
||||
template <> int Return<AIRoad::RoadVehicleType>(HSQUIRRELVM vm, AIRoad::RoadVehicleType res) { sq_pushinteger(vm, (int32)res); return 1; }
|
||||
template <> AIRoad::BuildType GetParam(ForceType<AIRoad::BuildType>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQInteger tmp; sq_getinteger(vm, index, &tmp); return (AIRoad::BuildType)tmp; }
|
||||
template <> int Return<AIRoad::BuildType>(HSQUIRRELVM vm, AIRoad::BuildType res) { sq_pushinteger(vm, (int32)res); return 1; }
|
||||
|
||||
/* Allow AIRoad to be used as Squirrel parameter */
|
||||
template <> AIRoad *GetParam(ForceType<AIRoad *>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIRoad *)instance; }
|
||||
@@ -44,6 +46,10 @@ void SQAIRoad_Register(Squirrel *engine)
|
||||
SQAIRoad.DefSQConst(engine, AIRoad::ROADTYPE_INVALID, "ROADTYPE_INVALID");
|
||||
SQAIRoad.DefSQConst(engine, AIRoad::ROADVEHTYPE_BUS, "ROADVEHTYPE_BUS");
|
||||
SQAIRoad.DefSQConst(engine, AIRoad::ROADVEHTYPE_TRUCK, "ROADVEHTYPE_TRUCK");
|
||||
SQAIRoad.DefSQConst(engine, AIRoad::BT_ROAD, "BT_ROAD");
|
||||
SQAIRoad.DefSQConst(engine, AIRoad::BT_DEPOT, "BT_DEPOT");
|
||||
SQAIRoad.DefSQConst(engine, AIRoad::BT_BUS_STOP, "BT_BUS_STOP");
|
||||
SQAIRoad.DefSQConst(engine, AIRoad::BT_TRUCK_STOP, "BT_TRUCK_STOP");
|
||||
|
||||
AIError::RegisterErrorMap(STR_ERROR_ROAD_WORKS_IN_PROGRESS, AIRoad::ERR_ROAD_WORKS_IN_PROGRESS);
|
||||
AIError::RegisterErrorMap(STR_ERROR_DRIVE_THROUGH_DIRECTION, AIRoad::ERR_ROAD_DRIVE_THROUGH_WRONG_DIRECTION);
|
||||
@@ -82,6 +88,7 @@ void SQAIRoad_Register(Squirrel *engine)
|
||||
SQAIRoad.DefSQStaticMethod(engine, &AIRoad::RemoveRoadFull, "RemoveRoadFull", 3, ".ii");
|
||||
SQAIRoad.DefSQStaticMethod(engine, &AIRoad::RemoveRoadDepot, "RemoveRoadDepot", 2, ".i");
|
||||
SQAIRoad.DefSQStaticMethod(engine, &AIRoad::RemoveRoadStation, "RemoveRoadStation", 2, ".i");
|
||||
SQAIRoad.DefSQStaticMethod(engine, &AIRoad::GetBuildCost, "GetBuildCost", 3, ".ii");
|
||||
|
||||
SQAIRoad.PostRegister(engine);
|
||||
}
|
||||
|
@@ -53,7 +53,7 @@
|
||||
DEBUG(ai, 0, "GetCoverageRadius(): coverage radius of airports needs to be requested via AIAirport::GetAirportCoverageRadius(), as it requires AirportType");
|
||||
return -1;
|
||||
}
|
||||
if (CountBits(station_type) != 1) return -1;
|
||||
if (!HasExactlyOneBit(station_type)) return -1;
|
||||
if (!_settings_game.station.modified_catchment) return CA_UNMODIFIED;
|
||||
|
||||
switch (station_type) {
|
||||
@@ -89,7 +89,7 @@
|
||||
/* static */ bool AIStation::HasStationType(StationID station_id, StationType station_type)
|
||||
{
|
||||
if (!IsValidStation(station_id)) return false;
|
||||
if (CountBits(station_type) != 1) return false;
|
||||
if (!HasExactlyOneBit(station_type)) return false;
|
||||
|
||||
return (::Station::Get(station_id)->facilities & station_type) != 0;
|
||||
}
|
||||
|
@@ -19,6 +19,7 @@
|
||||
#include "../../tree_map.h"
|
||||
#include "../../town.h"
|
||||
#include "../../landscape.h"
|
||||
#include "../../economy_func.h"
|
||||
|
||||
/* static */ bool AITile::IsBuildable(TileIndex tile)
|
||||
{
|
||||
@@ -34,7 +35,7 @@
|
||||
if (::GetRoadTypes(tile) != ROADTYPES_ROAD) return false;
|
||||
/* Depots and crossings aren't considered buildable */
|
||||
if (::GetRoadTileType(tile) != ROAD_TILE_NORMAL) return false;
|
||||
if (CountBits(::GetRoadBits(tile, ROADTYPE_ROAD)) != 1) return false;
|
||||
if (!HasExactlyOneBit(::GetRoadBits(tile, ROADTYPE_ROAD))) return false;
|
||||
if (::IsRoadOwner(tile, ROADTYPE_ROAD, OWNER_TOWN)) return true;
|
||||
if (::IsRoadOwner(tile, ROADTYPE_ROAD, _current_company)) return true;
|
||||
return false;
|
||||
@@ -271,3 +272,18 @@
|
||||
|
||||
return ::ClosestTownFromTile(tile, UINT_MAX)->index;
|
||||
}
|
||||
|
||||
/* static */ Money AITile::GetBuildCost(BuildType build_type)
|
||||
{
|
||||
switch (build_type) {
|
||||
case BT_FOUNDATION: return ::GetPrice(PR_BUILD_FOUNDATION, 1, NULL);
|
||||
case BT_TERRAFORM: return ::GetPrice(PR_TERRAFORM, 1, NULL);
|
||||
case BT_BUILD_TREES: return ::GetPrice(PR_BUILD_TREES, 1, NULL);
|
||||
case BT_CLEAR_GRASS: return ::GetPrice(PR_CLEAR_GRASS, 1, NULL);
|
||||
case BT_CLEAR_ROUGH: return ::GetPrice(PR_CLEAR_ROUGH, 1, NULL);
|
||||
case BT_CLEAR_ROCKY: return ::GetPrice(PR_CLEAR_ROCKS, 1, NULL);
|
||||
case BT_CLEAR_FIELDS: return ::GetPrice(PR_CLEAR_FIELDS, 1, NULL);
|
||||
case BT_CLEAR_HOUSE: return ::GetPrice(PR_CLEAR_HOUSE, 1, NULL);
|
||||
default: return -1;
|
||||
}
|
||||
}
|
||||
|
@@ -103,6 +103,20 @@ public:
|
||||
TRANSPORT_INVALID = -1, //!< Tile without any transport type.
|
||||
};
|
||||
|
||||
/**
|
||||
* Get the base cost for building/clearing several things.
|
||||
*/
|
||||
enum BuildType {
|
||||
BT_FOUNDATION, //!< Build a foundation under something
|
||||
BT_TERRAFORM, //!< Terraform
|
||||
BT_BUILD_TREES, //!< Build trees
|
||||
BT_CLEAR_GRASS, //!< Clear a tile with just grass
|
||||
BT_CLEAR_ROUGH, //!< Clear a rough tile
|
||||
BT_CLEAR_ROCKY, //!< Clear a tile with rocks
|
||||
BT_CLEAR_FIELDS, //!< Clear a tile with farm fields
|
||||
BT_CLEAR_HOUSE, //!< Clear a tile with a house
|
||||
};
|
||||
|
||||
/**
|
||||
* Check if this tile is buildable, i.e. no things on it that needs
|
||||
* demolishing.
|
||||
@@ -435,6 +449,13 @@ public:
|
||||
* @return The TownID of the town closest to the tile.
|
||||
*/
|
||||
static TownID GetClosestTown(TileIndex tile);
|
||||
|
||||
/**
|
||||
* Get the baseprice of building/clearing various tile-related things.
|
||||
* @param build_type the type to build
|
||||
* @return The baseprice of building or removing the given object.
|
||||
*/
|
||||
static Money GetBuildCost(BuildType build_type);
|
||||
};
|
||||
|
||||
#endif /* AI_TILE_HPP */
|
||||
|
@@ -21,6 +21,8 @@ namespace SQConvert {
|
||||
template <> int Return<AITile::Slope>(HSQUIRRELVM vm, AITile::Slope res) { sq_pushinteger(vm, (int32)res); return 1; }
|
||||
template <> AITile::TransportType GetParam(ForceType<AITile::TransportType>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQInteger tmp; sq_getinteger(vm, index, &tmp); return (AITile::TransportType)tmp; }
|
||||
template <> int Return<AITile::TransportType>(HSQUIRRELVM vm, AITile::TransportType res) { sq_pushinteger(vm, (int32)res); return 1; }
|
||||
template <> AITile::BuildType GetParam(ForceType<AITile::BuildType>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQInteger tmp; sq_getinteger(vm, index, &tmp); return (AITile::BuildType)tmp; }
|
||||
template <> int Return<AITile::BuildType>(HSQUIRRELVM vm, AITile::BuildType res) { sq_pushinteger(vm, (int32)res); return 1; }
|
||||
|
||||
/* Allow AITile to be used as Squirrel parameter */
|
||||
template <> AITile *GetParam(ForceType<AITile *>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AITile *)instance; }
|
||||
@@ -73,6 +75,14 @@ void SQAITile_Register(Squirrel *engine)
|
||||
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::BT_FOUNDATION, "BT_FOUNDATION");
|
||||
SQAITile.DefSQConst(engine, AITile::BT_TERRAFORM, "BT_TERRAFORM");
|
||||
SQAITile.DefSQConst(engine, AITile::BT_BUILD_TREES, "BT_BUILD_TREES");
|
||||
SQAITile.DefSQConst(engine, AITile::BT_CLEAR_GRASS, "BT_CLEAR_GRASS");
|
||||
SQAITile.DefSQConst(engine, AITile::BT_CLEAR_ROUGH, "BT_CLEAR_ROUGH");
|
||||
SQAITile.DefSQConst(engine, AITile::BT_CLEAR_ROCKY, "BT_CLEAR_ROCKY");
|
||||
SQAITile.DefSQConst(engine, AITile::BT_CLEAR_FIELDS, "BT_CLEAR_FIELDS");
|
||||
SQAITile.DefSQConst(engine, AITile::BT_CLEAR_HOUSE, "BT_CLEAR_HOUSE");
|
||||
|
||||
AIError::RegisterErrorMap(STR_ERROR_ALREADY_AT_SEA_LEVEL, AITile::ERR_TILE_TOO_HIGH);
|
||||
AIError::RegisterErrorMap(STR_ERROR_ALREADY_AT_SEA_LEVEL, AITile::ERR_TILE_TOO_LOW);
|
||||
@@ -116,6 +126,7 @@ void SQAITile_Register(Squirrel *engine)
|
||||
SQAITile.DefSQStaticMethod(engine, &AITile::PlantTreeRectangle, "PlantTreeRectangle", 4, ".iii");
|
||||
SQAITile.DefSQStaticMethod(engine, &AITile::IsWithinTownInfluence, "IsWithinTownInfluence", 3, ".ii");
|
||||
SQAITile.DefSQStaticMethod(engine, &AITile::GetClosestTown, "GetClosestTown", 2, ".i");
|
||||
SQAITile.DefSQStaticMethod(engine, &AITile::GetBuildCost, "GetBuildCost", 2, ".i");
|
||||
|
||||
SQAITile.PostRegister(engine);
|
||||
}
|
||||
|
@@ -31,7 +31,7 @@
|
||||
/* static */ bool AIWaypoint::HasWaypointType(StationID waypoint_id, WaypointType waypoint_type)
|
||||
{
|
||||
if (!IsValidWaypoint(waypoint_id)) return false;
|
||||
if (CountBits(waypoint_type) != 1) return false;
|
||||
if (!HasExactlyOneBit(waypoint_type)) return false;
|
||||
|
||||
return (::Waypoint::Get(waypoint_id)->facilities & waypoint_type) != 0;
|
||||
}
|
||||
|
@@ -200,7 +200,7 @@ static SpriteID GetAircraftIcon(EngineID engine)
|
||||
return DIR_W + _aircraft_sprite[spritenum];
|
||||
}
|
||||
|
||||
void DrawAircraftEngine(int left, int right, int preferred_x, int y, EngineID engine, SpriteID pal)
|
||||
void DrawAircraftEngine(int left, int right, int preferred_x, int y, EngineID engine, PaletteID pal)
|
||||
{
|
||||
SpriteID sprite = GetAircraftIcon(engine);
|
||||
const Sprite *real_sprite = GetSprite(sprite, ST_NORMAL);
|
||||
@@ -273,7 +273,6 @@ CommandCost CmdBuildAircraft(TileIndex tile, DoCommandFlag flags, uint32 p1, uin
|
||||
v->owner = u->owner = _current_company;
|
||||
|
||||
v->tile = tile;
|
||||
// u->tile = 0;
|
||||
|
||||
uint x = TileX(tile) * TILE_SIZE + 5;
|
||||
uint y = TileY(tile) * TILE_SIZE + 3;
|
||||
@@ -284,15 +283,10 @@ CommandCost CmdBuildAircraft(TileIndex tile, DoCommandFlag flags, uint32 p1, uin
|
||||
u->z_pos = GetSlopeZ(x, y);
|
||||
v->z_pos = u->z_pos + 1;
|
||||
|
||||
v->running_ticks = 0;
|
||||
|
||||
// u->delta_x = u->delta_y = 0;
|
||||
|
||||
v->vehstatus = VS_HIDDEN | VS_STOPPED | VS_DEFPAL;
|
||||
u->vehstatus = VS_HIDDEN | VS_UNCLICKABLE | VS_SHADOW;
|
||||
|
||||
v->spritenum = avi->image_index;
|
||||
// v->cargo_count = u->number_of_pieces = 0;
|
||||
|
||||
v->cargo_cap = avi->passenger_capacity;
|
||||
u->cargo_cap = avi->mail_capacity;
|
||||
@@ -300,15 +294,8 @@ CommandCost CmdBuildAircraft(TileIndex tile, DoCommandFlag flags, uint32 p1, uin
|
||||
v->cargo_type = e->GetDefaultCargoType();
|
||||
u->cargo_type = CT_MAIL;
|
||||
|
||||
v->cargo_subtype = 0;
|
||||
|
||||
v->name = NULL;
|
||||
// v->next_order_param = v->next_order = 0;
|
||||
|
||||
// v->time_counter = 0;
|
||||
// v->progress = 0;
|
||||
v->last_station_visited = INVALID_STATION;
|
||||
// v->destination_coords = 0;
|
||||
|
||||
v->max_speed = avi->max_speed;
|
||||
v->acceleration = avi->acceleration;
|
||||
@@ -531,10 +518,8 @@ static void CheckIfAircraftNeedsService(Aircraft *v)
|
||||
|
||||
assert(st != NULL);
|
||||
|
||||
/* only goto depot if the target airport has terminals (eg. it is airport) */
|
||||
if (st->airport_tile != INVALID_TILE && st->Airport()->terminals != NULL) {
|
||||
// printf("targetairport = %d, st->index = %d\n", v->targetairport, st->index);
|
||||
// v->targetairport = st->index;
|
||||
/* only goto depot if the target airport has a depot */
|
||||
if (st->GetAirportSpec()->nof_depots > 0 && CanVehicleUseStation(v, st)) {
|
||||
v->current_order.MakeGoToDepot(st->index, ODTFB_SERVICE);
|
||||
SetWindowWidgetDirty(WC_VEHICLE_VIEW, v->index, VVW_WIDGET_START_STOP_VEH);
|
||||
} else if (v->current_order.IsType(OT_GOTO_DEPOT)) {
|
||||
@@ -634,7 +619,7 @@ void SetAircraftPosition(Aircraft *v, int x, int y, int z)
|
||||
int safe_x = Clamp(x, 0, MapMaxX() * TILE_SIZE);
|
||||
int safe_y = Clamp(y - 1, 0, MapMaxY() * TILE_SIZE);
|
||||
u->x_pos = x;
|
||||
u->y_pos = y - ((v->z_pos - GetSlopeZ(safe_x, safe_y)) >> 3);;
|
||||
u->y_pos = y - ((v->z_pos - GetSlopeZ(safe_x, safe_y)) >> 3);
|
||||
|
||||
safe_y = Clamp(u->y_pos, 0, MapMaxY() * TILE_SIZE);
|
||||
u->z_pos = GetSlopeZ(safe_x, safe_y);
|
||||
@@ -838,6 +823,9 @@ static byte AircraftGetEntryPoint(const Aircraft *v, const AirportFTAClass *apc)
|
||||
return apc->entry_points[dir];
|
||||
}
|
||||
|
||||
|
||||
static void MaybeCrashAirplane(Aircraft *v);
|
||||
|
||||
/**
|
||||
* Controls the movement of an aircraft. This function actually moves the vehicle
|
||||
* on the map and takes care of minor things like sound playback.
|
||||
@@ -969,6 +957,11 @@ static bool AircraftController(Aircraft *v)
|
||||
return false;
|
||||
}
|
||||
|
||||
if (amd->flag & AMED_BRAKE && v->cur_speed > SPEED_LIMIT_TAXI * _settings_game.vehicle.plane_speed) {
|
||||
MaybeCrashAirplane(v);
|
||||
if ((v->vehstatus & VS_CRASHED) != 0) return false;
|
||||
}
|
||||
|
||||
uint speed_limit = SPEED_LIMIT_TAXI;
|
||||
bool hard_limit = true;
|
||||
|
||||
@@ -1263,17 +1256,14 @@ static void CrashAirplane(Aircraft *v)
|
||||
v->Next()->cargo.Truncate(0);
|
||||
const Station *st = GetTargetAirportIfValid(v);
|
||||
StringID newsitem;
|
||||
AIEventVehicleCrashed::CrashReason crash_reason;
|
||||
if (st == NULL) {
|
||||
newsitem = STR_NEWS_PLANE_CRASH_OUT_OF_FUEL;
|
||||
crash_reason = AIEventVehicleCrashed::CRASH_AIRCRAFT_NO_AIRPORT;
|
||||
} else {
|
||||
SetDParam(1, st->index);
|
||||
newsitem = STR_NEWS_AIRCRAFT_CRASH;
|
||||
crash_reason = AIEventVehicleCrashed::CRASH_PLANE_LANDING;
|
||||
}
|
||||
|
||||
AI::NewEvent(v->owner, new AIEventVehicleCrashed(v->index, v->tile, crash_reason));
|
||||
AI::NewEvent(v->owner, new AIEventVehicleCrashed(v->index, v->tile, st == NULL ? AIEventVehicleCrashed::CRASH_AIRCRAFT_NO_AIRPORT : AIEventVehicleCrashed::CRASH_PLANE_LANDING));
|
||||
|
||||
AddVehicleNewsItem(newsitem,
|
||||
NS_ACCIDENT,
|
||||
@@ -1285,17 +1275,21 @@ static void CrashAirplane(Aircraft *v)
|
||||
|
||||
static void MaybeCrashAirplane(Aircraft *v)
|
||||
{
|
||||
if (_settings_game.vehicle.plane_crashes == 0) return;
|
||||
|
||||
Station *st = Station::Get(v->targetairport);
|
||||
|
||||
/* FIXME -- MaybeCrashAirplane -> increase crashing chances of very modern airplanes on smaller than AT_METROPOLITAN airports */
|
||||
uint16 prob = 0x10000 / 1500;
|
||||
uint32 prob = (0x4000 << _settings_game.vehicle.plane_crashes);
|
||||
if ((st->Airport()->flags & AirportFTAClass::SHORT_STRIP) &&
|
||||
(AircraftVehInfo(v->engine_type)->subtype & AIR_FAST) &&
|
||||
!_cheats.no_jetcrash.value) {
|
||||
prob = 0x10000 / 20;
|
||||
prob /= 20;
|
||||
} else {
|
||||
prob /= 1500;
|
||||
}
|
||||
|
||||
if (GB(Random(), 0, 16) > prob) return;
|
||||
if (GB(Random(), 0, 22) > prob) return;
|
||||
|
||||
/* Crash the airplane. Remove all goods stored at the station. */
|
||||
for (CargoID i = 0; i < NUM_CARGO; i++) {
|
||||
@@ -1338,7 +1332,6 @@ static void AircraftLandAirplane(Aircraft *v)
|
||||
if (!PlayVehicleSound(v, VSE_TOUCHDOWN)) {
|
||||
SndPlayVehicleFx(SND_17_SKID_PLANE, v);
|
||||
}
|
||||
MaybeCrashAirplane(v);
|
||||
}
|
||||
|
||||
|
||||
|
@@ -87,7 +87,7 @@ void DrawAircraftImage(const Vehicle *v, int left, int right, int y, VehicleID s
|
||||
int x = rtl ? right - real_sprite->width - real_sprite->x_offs : left - real_sprite->x_offs;
|
||||
bool helicopter = v->subtype == AIR_HELICOPTER;
|
||||
|
||||
SpriteID pal = (v->vehstatus & VS_CRASHED) ? PALETTE_CRASH : GetVehiclePalette(v);
|
||||
PaletteID pal = (v->vehstatus & VS_CRASHED) ? PALETTE_CRASH : GetVehiclePalette(v);
|
||||
DrawSprite(sprite, pal, x, y + 10);
|
||||
if (helicopter) {
|
||||
const Aircraft *a = Aircraft::From(v);
|
||||
|
107
src/airport.cpp
107
src/airport.cpp
@@ -16,112 +16,7 @@
|
||||
#include "core/alloc_func.hpp"
|
||||
#include "date_func.h"
|
||||
#include "settings_type.h"
|
||||
|
||||
|
||||
/* 8-66 are mapped to 0-58, 83+ are mapped to 59+ */
|
||||
enum AirportTiles {
|
||||
APT_APRON = 0,
|
||||
APT_APRON_FENCE_NW = 1,
|
||||
APT_APRON_FENCE_SW = 2,
|
||||
APT_STAND = 3,
|
||||
APT_APRON_W = 4,
|
||||
APT_APRON_S = 5,
|
||||
APT_APRON_VER_CROSSING_S = 6,
|
||||
APT_APRON_HOR_CROSSING_W = 7,
|
||||
APT_APRON_VER_CROSSING_N = 8,
|
||||
APT_APRON_HOR_CROSSING_E = 9,
|
||||
APT_APRON_E = 10,
|
||||
APT_ARPON_N = 11,
|
||||
APT_APRON_HOR = 12,
|
||||
APT_APRON_N_FENCE_SW = 13,
|
||||
APT_RUNWAY_1 = 14,
|
||||
APT_RUNWAY_2 = 15,
|
||||
APT_RUNWAY_3 = 16,
|
||||
APT_RUNWAY_4 = 17,
|
||||
APT_RUNWAY_END_FENCE_SE = 18,
|
||||
APT_BUILDING_2 = 19,
|
||||
APT_TOWER_FENCE_SW = 20,
|
||||
APT_ROUND_TERMINAL = 21,
|
||||
APT_BUILDING_3 = 22,
|
||||
APT_BUILDING_1 = 23,
|
||||
APT_DEPOT_SE = 24,
|
||||
APT_STAND_1 = 25,
|
||||
APT_STAND_PIER_NE = 26,
|
||||
APT_PIER_NW_NE = 27,
|
||||
APT_PIER = 28,
|
||||
APT_EMPTY = 29,
|
||||
APT_EMPTY_FENCE_NE = 30,
|
||||
APT_RADAR_GRASS_FENCE_SW = 31,
|
||||
/* 32-42 are for turning the radar */
|
||||
APT_RADIO_TOWER_FENCE_NE = 43,
|
||||
APT_SMALL_BUILDING_3 = 44,
|
||||
APT_SMALL_BUILDING_2 = 45,
|
||||
APT_SMALL_BUILDING_1 = 46,
|
||||
APT_GRASS_FENCE_SW = 47,
|
||||
APT_GRASS_2 = 48,
|
||||
APT_GRASS_1 = 49,
|
||||
APT_GRASS_FENCE_NE_FLAG = 50,
|
||||
/* 51-53 are for flag animation */
|
||||
APT_RUNWAY_SMALL_NEAR_END = 54,
|
||||
APT_RUNWAY_SMALL_MIDDLE = 55,
|
||||
APT_RUNWAY_SMALL_FAR_END = 56,
|
||||
APT_SMALL_DEPOT_SE = 57,
|
||||
APT_HELIPORT = 58,
|
||||
APT_RUNWAY_END = 59,
|
||||
APT_RUNWAY_5 = 60,
|
||||
APT_TOWER = 61,
|
||||
APT_SMALL_DEPOT_SE_2 = 62, // unused (copy of APT_SMALL_DEPOT_SE)
|
||||
APT_APRON_FENCE_NE = 63,
|
||||
APT_RUNWAY_END_FENCE_NW = 64,
|
||||
APT_RUNWAY_FENCE_NW = 65,
|
||||
APT_RADAR_FENCE_SW = 66,
|
||||
/* 67-77 are for turning the radar */
|
||||
APT_RADAR_FENCE_NE = 78,
|
||||
/* 79-89 are for turning the radar */
|
||||
APT_HELIPAD_1 = 90,
|
||||
APT_HELIPAD_2_FENCE_NW = 91,
|
||||
APT_HELIPAD_2 = 92,
|
||||
APT_APRON_FENCE_NE_SW = 93,
|
||||
APT_RUNWAY_END_FENCE_NW_SW = 94,
|
||||
APT_RUNWAY_END_FENCE_SE_SW = 95,
|
||||
APT_RUNWAY_END_FENCE_NE_NW = 96,
|
||||
APT_RUNWAY_END_FENCE_NE_SE = 97,
|
||||
APT_HELIPAD_2_FENCE_NE_SE = 98,
|
||||
APT_APRON_FENCE_SE_SW = 99,
|
||||
APT_LOW_BUILDING_FENCE_N = 100,
|
||||
APT_ROT_RUNWAY_FENCE_NE = 101, // unused
|
||||
APT_ROT_RUNWAY_END_FENCE_NE= 102, // unused
|
||||
APT_ROT_RUNWAY_FENCE_SW = 103, // unused
|
||||
APT_ROT_RUNWAY_END_FENCE_SW= 104, // unused
|
||||
APT_DEPOT_SW = 105, // unused
|
||||
APT_DEPOT_NW = 106, // unused
|
||||
APT_DEPOT_NE = 107, // unused
|
||||
APT_HELIPAD_2_FENCE_SE_SW = 108, // unused
|
||||
APT_HELIPAD_2_FENCE_SE = 109, // unused
|
||||
APT_LOW_BUILDING_FENCE_NW = 110,
|
||||
APT_LOW_BUILDING_FENCE_NE = 111, // unused
|
||||
APT_LOW_BUILDING_FENCE_SW = 112, // unused
|
||||
APT_LOW_BUILDING_FENCE_SE = 113, // unused
|
||||
APT_STAND_FENCE_NE = 114, // unused
|
||||
APT_STAND_FENCE_SE = 115, // unused
|
||||
APT_STAND_FENCE_SW = 116, // unused
|
||||
APT_APRON_FENCE_NE_2 = 117, // unused (copy of APT_APRON_FENCE_NE)
|
||||
APT_APRON_FENCE_SE = 118,
|
||||
APT_HELIPAD_2_FENCE_NW_SW = 119, // unused
|
||||
APT_HELIPAD_2_FENCE_SW = 120, // unused
|
||||
APT_RADAR_FENCE_SE = 121, // unused
|
||||
/* 122-132 used for radar rotation */
|
||||
APT_HELIPAD_3_FENCE_SE_SW = 133,
|
||||
APT_HELIPAD_3_FENCE_NW_SW = 134,
|
||||
APT_HELIPAD_3_FENCE_NW = 135,
|
||||
APT_LOW_BUILDING = 136,
|
||||
APT_APRON_FENCE_NE_SE = 137,
|
||||
APT_APRON_HALF_EAST = 138,
|
||||
APT_APRON_HALF_WEST = 139,
|
||||
APT_GRASS_FENCE_NE_FLAG_2 = 140,
|
||||
/* 141-143 used for flag animation */
|
||||
};
|
||||
|
||||
#include "table/airporttile_ids.h"
|
||||
#include "table/airport_defaults.h"
|
||||
#include "table/airporttiles.h"
|
||||
|
||||
|
@@ -21,11 +21,7 @@ enum {
|
||||
MAX_TERMINALS = 10, ///< maximum number of terminals per airport
|
||||
MAX_HELIPADS = 4, ///< maximum number of helipads per airport
|
||||
MAX_ELEMENTS = 255, ///< maximum number of aircraft positions at airport
|
||||
NUM_AIRPORTTILES = 144, ///< total number of airport tiles
|
||||
};
|
||||
|
||||
enum {
|
||||
AIRPORTTILE_NOANIM = 0xFF, ///< flag to mark airport tiles as having no animation
|
||||
NUM_AIRPORTTILES = 74, ///< total number of airport tiles
|
||||
};
|
||||
|
||||
/** Airport types */
|
||||
@@ -79,7 +75,7 @@ struct AirportSpec {
|
||||
* Defines the data structure of each indivudual tile of an airport.
|
||||
*/
|
||||
struct AirportTileSpec {
|
||||
StationGfx anim_next; ///< Next StationGfx in an animation
|
||||
uint16 animation_info; ///< Information about the animation (is it looping, how many loops etc)
|
||||
uint8 animation_speed; ///< The speed of the animation
|
||||
|
||||
static const AirportTileSpec *Get(StationGfx gfx);
|
||||
|
@@ -90,7 +90,7 @@ struct BuildAirToolbarWindow : Window {
|
||||
this->DrawWidgets();
|
||||
}
|
||||
|
||||
virtual void OnClick(Point pt, int widget)
|
||||
virtual void OnClick(Point pt, int widget, int click_count)
|
||||
{
|
||||
if (!IsInsideBS(widget, ATW_AIRPORT, lengthof(_build_air_button_proc))) return;
|
||||
|
||||
@@ -257,7 +257,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
virtual void OnClick(Point pt, int widget)
|
||||
virtual void OnClick(Point pt, int widget, int click_count)
|
||||
{
|
||||
switch (widget) {
|
||||
case BAW_SMALL_AIRPORT: case BAW_CITY_AIRPORT: case BAW_HELIPORT: case BAW_METRO_AIRPORT:
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user