Compare commits
291 Commits
1.1.0-beta
...
1.1.4-RC1
Author | SHA1 | Date | |
---|---|---|---|
|
40ee9278f1 | ||
|
45e119deeb | ||
|
fd48f42a07 | ||
|
111fcafa2f | ||
|
47e7a98207 | ||
|
83062be4e0 | ||
|
a04aad0df3 | ||
|
5d9975cad1 | ||
|
68afdc6312 | ||
|
e706131e16 | ||
|
bf3c75c34c | ||
|
83d41e122c | ||
|
c1359d6d8a | ||
|
3daf4d012b | ||
|
997a4aee46 | ||
|
4284b8abb3 | ||
|
526e7294a3 | ||
|
9338e1a38f | ||
|
c42d060a44 | ||
|
c33d1fc60b | ||
|
41f777b0ec | ||
|
daa89c982e | ||
|
0ca913841d | ||
|
7d984241f3 | ||
|
a95c366f58 | ||
|
d233a561a1 | ||
|
0ded8c0cb8 | ||
|
15d5df9496 | ||
|
85ee1737e4 | ||
|
c5387508eb | ||
|
a8c7707fe0 | ||
|
eb7bceb240 | ||
|
6f8248c36d | ||
|
41db186ea7 | ||
|
310d9e4ee3 | ||
|
be65972895 | ||
|
a51531e410 | ||
|
4b800313f4 | ||
|
e1841b5d68 | ||
|
4f8053e559 | ||
|
3a39cea23b | ||
|
a873aa3337 | ||
|
a1826a043e | ||
|
a6750a145e | ||
|
b5bad6aa19 | ||
|
725d00630f | ||
|
0b02b285a8 | ||
|
5cb560d4bd | ||
|
4ba397c285 | ||
|
863d0e08e3 | ||
|
041714e538 | ||
|
7bbfbcddb7 | ||
|
c224791f7f | ||
|
7fcdcbc8dd | ||
|
a7487b5ede | ||
|
2b709f2d38 | ||
|
59a11e6626 | ||
|
829a2c201d | ||
|
704a361ada | ||
|
bde2fec339 | ||
|
eb4c66a4fb | ||
|
2b2cabfce1 | ||
|
e43d961737 | ||
|
30df6de7bd | ||
|
3330813d95 | ||
|
41fe2dea36 | ||
|
ad37641fee | ||
|
c1c35b5ac5 | ||
|
71d169ffd3 | ||
|
564a50628c | ||
|
633454f0dd | ||
|
fbea0fc6b1 | ||
|
30cf8d1971 | ||
|
01bc61309f | ||
|
308b0d354c | ||
|
1d2baecb5e | ||
|
40f3583c54 | ||
|
5552c0a7e9 | ||
|
f2d2713f05 | ||
|
cad2aa6b14 | ||
|
96ab68d6bc | ||
|
35fb1fe0e1 | ||
|
fab07a9265 | ||
|
177135320d | ||
|
5be6a1c7e6 | ||
|
1b2ef66416 | ||
|
914f8e9f1d | ||
|
8e4b2c951d | ||
|
95b6aeaabd | ||
|
95ec99132e | ||
|
e8002f5b92 | ||
|
66543bde1d | ||
|
b51c62f5af | ||
|
f1377a228f | ||
|
6a58f34878 | ||
|
c7038d8b4d | ||
|
befa79ba4a | ||
|
a19bc28aba | ||
|
adfd648031 | ||
|
92d0d6d10b | ||
|
ece59dc0d1 | ||
|
2d4d43d00c | ||
|
d8cada7563 | ||
|
1dc5ba2210 | ||
|
7de823b1bd | ||
|
296af35741 | ||
|
37483180e8 | ||
|
8196b03074 | ||
|
b187352663 | ||
|
13fd2cd335 | ||
|
246f6fe478 | ||
|
5f18d6d828 | ||
|
66a8c324db | ||
|
24983ec629 | ||
|
a1b79246e8 | ||
|
57a969017b | ||
|
50996e799b | ||
|
096c2857ee | ||
|
16dd93d3fb | ||
|
421ba1c342 | ||
|
b7713a7e85 | ||
|
3a787f5a0b | ||
|
dda7b60a57 | ||
|
15514a3011 | ||
|
69789f3008 | ||
|
fbfb0ffbf2 | ||
|
67cbee4f64 | ||
|
f50f57b4d8 | ||
|
0828653cf9 | ||
|
e76465bab9 | ||
|
f4f5de5be1 | ||
|
fbb5f87801 | ||
|
7c254110c0 | ||
|
5ccf5cc551 | ||
|
05a846a574 | ||
|
537bd8a429 | ||
|
5f7439a00f | ||
|
e1eeca6440 | ||
|
5286de116b | ||
|
0c873d2bc6 | ||
|
9cd5243d04 | ||
|
887a7724dc | ||
|
364ef8e6e6 | ||
|
b4273bcd35 | ||
|
7af2470a78 | ||
|
1d0d7635e0 | ||
|
a06b34bd4f | ||
|
0395aab420 | ||
|
bc3ce1e53b | ||
|
faf5d899f7 | ||
|
68ace1b79b | ||
|
3745ff7338 | ||
|
ec9e0690eb | ||
|
750d369a2a | ||
|
68d03b66e3 | ||
|
44495f8dba | ||
|
64280e63fb | ||
|
28a72bbf47 | ||
|
264ed733e8 | ||
|
79fd8a362b | ||
|
64cba95fbe | ||
|
4828ed94ba | ||
|
cebe8ab630 | ||
|
4af28a3867 | ||
|
7ffef9c1e6 | ||
|
4364cec392 | ||
|
d84502c432 | ||
|
a5921c0514 | ||
|
870d2eafbf | ||
|
fd86b0608d | ||
|
fd94ed3009 | ||
|
8b2f2c09e5 | ||
|
a8859bbff9 | ||
|
afad7920ef | ||
|
6f730b1124 | ||
|
3bb7f7ebe4 | ||
|
2fbecaf4bf | ||
|
9aa185572b | ||
|
d82475cf88 | ||
|
ef3ec0f8c8 | ||
|
faa2a26ae1 | ||
|
2679051c68 | ||
|
e145d632cd | ||
|
b0e4ff1dff | ||
|
e9e6444138 | ||
|
82f260e15f | ||
|
582d30c979 | ||
|
c000f6b939 | ||
|
e06c412a05 | ||
|
9e1695aa1e | ||
|
b992a93996 | ||
|
915e339d0f | ||
|
a4b08dddd1 | ||
|
91dcc9e016 | ||
|
7935eab3dc | ||
|
7da952115b | ||
|
50d646ca7b | ||
|
bdf5a1c2f7 | ||
|
974c0f5166 | ||
|
00a766ed27 | ||
|
1cd4b3bb86 | ||
|
09601fe35d | ||
|
bbd308adef | ||
|
0fe0225751 | ||
|
773c6765e6 | ||
|
c85d350310 | ||
|
46b3d114a8 | ||
|
4355231f67 | ||
|
4c5ca17486 | ||
|
71f4067d19 | ||
|
313c1bc171 | ||
|
2ad1279725 | ||
|
3057a26fd5 | ||
|
732a0d069a | ||
|
c70ee16ecf | ||
|
053420399a | ||
|
f3e550e9bd | ||
|
a4bf3be864 | ||
|
3bfad0243b | ||
|
547421496e | ||
|
bbe94dc497 | ||
|
a42c0ea88b | ||
|
8118f74575 | ||
|
54161949d1 | ||
|
e846701b3c | ||
|
0364726bbb | ||
|
b15719bbd2 | ||
|
0ebc548a89 | ||
|
1a971fb6d6 | ||
|
9765a297e7 | ||
|
2e1eafbdc3 | ||
|
49ea0e9092 | ||
|
a97d52a29a | ||
|
67a5cd0b18 | ||
|
8f67baae2e | ||
|
da0b09557c | ||
|
df8c4bdbfa | ||
|
3d34b9e4a2 | ||
|
1e65afc62a | ||
|
f48838ef3f | ||
|
eea2f90da7 | ||
|
734994c9ba | ||
|
50b0e10026 | ||
|
9626e0bf2b | ||
|
23ffef05ce | ||
|
3cd1f15523 | ||
|
5e82fee690 | ||
|
62e5afcdf8 | ||
|
a7634b399d | ||
|
ab4c419fcf | ||
|
430fda01dc | ||
|
b4a175ba41 | ||
|
982de9cf86 | ||
|
4fff63d790 | ||
|
b11f1bd4ed | ||
|
12b64a12b0 | ||
|
8017c2a3d7 | ||
|
2bec6123f7 | ||
|
83ad2c4dfa | ||
|
4c37e0ec2c | ||
|
072f6d67ef | ||
|
25a22ec255 | ||
|
9a1c0f139a | ||
|
3f103c35a6 | ||
|
967bb84af3 | ||
|
890a18c738 | ||
|
81ef0dbcfc | ||
|
0de8332366 | ||
|
1339d75f75 | ||
|
d74fc0bee3 | ||
|
7eadf07e44 | ||
|
0537672324 | ||
|
cc8da3e5ab | ||
|
03fb95f92f | ||
|
7eba2bf4d3 | ||
|
849772f0fd | ||
|
9e8db65223 | ||
|
6ff844e7c4 | ||
|
eb299736c1 | ||
|
0cdb1c78cd | ||
|
c9bd9b0c23 | ||
|
8b9f0d5ade | ||
|
e860075a16 | ||
|
2a2363e819 | ||
|
a6fcd78538 | ||
|
e308c348f0 | ||
|
46dfdfd72b | ||
|
4432f7799d | ||
|
6dc24cf643 | ||
|
656caf16db | ||
|
1ac51128f5 |
@@ -60,6 +60,9 @@ ifdef OSXAPP
|
||||
$(Q)cp "$(ROOT_DIR)/os/macosx/openttd.icns" "$(BUNDLE_DIR)/$(OSXAPP)/Contents/Resources/openttd.icns"
|
||||
$(Q)$(ROOT_DIR)/os/macosx/plistgen.sh "$(BUNDLE_DIR)/$(OSXAPP)" "$(REV)"
|
||||
$(Q)cp "$(ROOT_DIR)/os/macosx/splash.png" "$(DATA_DIR)"
|
||||
endif
|
||||
ifeq ($(OS),UNIX)
|
||||
$(Q)cp "$(ROOT_DIR)/media/openttd.32.bmp" "$(DATA_DIR)/"
|
||||
endif
|
||||
$(Q)cp "$(BIN_DIR)/$(TTD)" "$(TTD_DIR)/"
|
||||
$(Q)cp "$(BIN_DIR)/ai/"compat_*.nut "$(AI_DIR)/"
|
||||
|
@@ -42,8 +42,8 @@ NFORENUM := $(shell [ `nforenum -s -v 2>/dev/null | wc -l ` -eq 1 ] && echo "nfo
|
||||
MD5SUM := $(shell [ "$(OS)" = "OSX" ] && echo "md5 -r" || echo "md5sum")
|
||||
|
||||
# Some "should not be changed" settings.
|
||||
NFO_FILES := $(GRF_DIR)/*.nfo
|
||||
PNG_FILES := $(GRF_DIR)/*.png
|
||||
NFO_FILES := $(GRF_DIR)/*.nfo $(GRF_DIR)/rivers/*.nfo
|
||||
PNG_FILES := $(GRF_DIR)/*.png $(GRF_DIR)/rivers/*.png
|
||||
|
||||
# Build the GRF.
|
||||
all: $(BIN_DIR)/openttd.grf
|
||||
|
@@ -27,9 +27,21 @@ SRC_DIR = "$(ROOT_DIR)/src"
|
||||
BUNDLE_DIR = "$(ROOT_DIR)/bundle"
|
||||
BUNDLES_DIR = "$(ROOT_DIR)/bundles"
|
||||
TTD = openttd.exe
|
||||
PDB = openttd.pdb
|
||||
MODE = Release
|
||||
TARGET := $(shell echo $(PLATFORM) | sed "s@win64@x64@;s@win32@Win32@")
|
||||
|
||||
all:
|
||||
$(Q)cp objs/$(TARGET)/Release/$(TTD) $(BIN_DIR)/$(TTD)
|
||||
$(Q)cp objs/$(TARGET)/$(MODE)/$(TTD) $(BIN_DIR)/$(TTD)
|
||||
|
||||
include Makefile.bundle.in
|
||||
|
||||
bundle_pdb:
|
||||
@echo '[BUNDLE] Creating $(BUNDLE_NAME).pdb.xz'
|
||||
$(Q)mkdir -p "$(BUNDLES_DIR)"
|
||||
$(Q)cp objs/$(TARGET)/Release/$(PDB) $(BUNDLES_DIR)/$(BUNDLE_NAME).pdb
|
||||
$(Q)xz -9 $(BUNDLES_DIR)/$(BUNDLE_NAME).pdb
|
||||
|
||||
regression: all
|
||||
$(Q)cp bin/$(TTD) bin/openttd
|
||||
$(Q)cd bin && sh ai/regression/run.sh
|
||||
|
@@ -248,7 +248,10 @@ $(OBJS_RC): %.o: $(SRC_DIR)/%.rc $(FILE_DEP)
|
||||
$(Q)$(WINDRES) -o $@ -I `basename $<` $<
|
||||
|
||||
$(BIN_DIR)/$(TTD): $(TTD)
|
||||
$(Q)cp $< $@
|
||||
$(Q)cp $(TTD) $(BIN_DIR)/$(TTD)
|
||||
ifeq ($(OS), UNIX)
|
||||
$(Q)cp $(MEDIA_DIR)/openttd.32.bmp $(BIN_DIR)/data/
|
||||
endif
|
||||
|
||||
$(TTD): $(OBJS) $(CONFIG_CACHE_LINKER)
|
||||
$(E) '$(STAGE) Linking $@'
|
||||
|
@@ -319,3 +319,5 @@ AIIndustry.IsCargoAccepted <- function(industry_id, cargo_id)
|
||||
AIAbstractList <- AIList;
|
||||
|
||||
AIList.ChangeItem <- AIList.SetValue;
|
||||
|
||||
AIRail.ERR_NONUNIFORM_STATIONS_DISABLED <- 0xFFFF;
|
||||
|
@@ -70,3 +70,5 @@ AIIndustry.IsCargoAccepted <- function(industry_id, cargo_id)
|
||||
AIAbstractList <- AIList;
|
||||
|
||||
AIList.ChangeItem <- AIList.SetValue;
|
||||
|
||||
AIRail.ERR_NONUNIFORM_STATIONS_DISABLED <- 0xFFFF;
|
||||
|
@@ -15,3 +15,6 @@ regression =
|
||||
[vehicle]
|
||||
road_side = right
|
||||
plane_speed = 2
|
||||
|
||||
[construction]
|
||||
max_bridge_length = 100
|
||||
|
@@ -7108,7 +7108,7 @@ ERROR: IsEnd() is invalid as Begin() is never called
|
||||
IsBuoyTile(): true
|
||||
IsLockTile(): true
|
||||
IsCanalTile(): true
|
||||
GetBankBalance(): 461507
|
||||
GetBankBalance(): 465257
|
||||
|
||||
--AIWaypointList(BUOY)--
|
||||
Count(): 1
|
||||
@@ -7127,7 +7127,7 @@ ERROR: IsEnd() is invalid as Begin() is never called
|
||||
IsBuoyTile(): false
|
||||
IsLockTile(): false
|
||||
IsCanalTile(): false
|
||||
GetBankBalance(): 456112
|
||||
GetBankBalance(): 459862
|
||||
BuildWaterDepot(): true
|
||||
BuildDock(): true
|
||||
|
||||
@@ -8456,7 +8456,7 @@ ERROR: IsEnd() is invalid as Begin() is never called
|
||||
GetNumWagons(): 3
|
||||
GetLength(): 24
|
||||
GetWagonEngineType(): 9
|
||||
GetWagonAge(): 0
|
||||
GetWagonAge(): 1
|
||||
GetWagonEngineType(): 27
|
||||
GetWagonAge(): 0
|
||||
GetWagonEngineType(): 27
|
||||
@@ -8492,11 +8492,11 @@ ERROR: IsEnd() is invalid as Begin() is never called
|
||||
14 => 1
|
||||
12 => 1
|
||||
Age ListDump:
|
||||
17 => 1
|
||||
16 => 1
|
||||
14 => 1
|
||||
13 => 1
|
||||
12 => 1
|
||||
17 => 0
|
||||
16 => 0
|
||||
MaxAge ListDump:
|
||||
16 => 10980
|
||||
14 => 10980
|
||||
@@ -8504,9 +8504,9 @@ ERROR: IsEnd() is invalid as Begin() is never called
|
||||
13 => 5490
|
||||
12 => 5490
|
||||
AgeLeft ListDump:
|
||||
16 => 10980
|
||||
16 => 10979
|
||||
14 => 10979
|
||||
17 => 7320
|
||||
17 => 7319
|
||||
13 => 5489
|
||||
12 => 5489
|
||||
CurrentSpeed ListDump:
|
||||
|
@@ -28,6 +28,7 @@ else
|
||||
./openttd -x -c ai/regression/regression.cfg $params -g ai/regression/regression.sav -d ai=2 2>&1 | awk '{ gsub("0x(\\(nil\\)|0+)(x0)?", "0x00000000", $0); gsub("^dbg: \\[ai\\]", "", $0); gsub("^ ", "ERROR: ", $0); gsub("ERROR: \\[1\\] ", "", $0); gsub("\\[P\\] ", "", $0); print $0; }' > tmp.regression
|
||||
fi
|
||||
|
||||
ret=0
|
||||
if [ -z "$gdb" ]; then
|
||||
res="`diff -ub ai/regression/regression.txt tmp.regression`"
|
||||
if [ -z "$res" ]; then
|
||||
@@ -35,6 +36,7 @@ if [ -z "$gdb" ]; then
|
||||
else
|
||||
echo "Regression test failed! Difference:"
|
||||
echo "$res"
|
||||
ret=1
|
||||
fi
|
||||
echo ""
|
||||
echo "Regression test done"
|
||||
@@ -49,3 +51,5 @@ fi
|
||||
if [ "$1" != "-k" ]; then
|
||||
rm -f tmp.regression
|
||||
fi
|
||||
|
||||
exit $ret
|
||||
|
@@ -55,7 +55,7 @@ TRGI.GRF = da6a6c9dcc451eec88d79211437b76a8
|
||||
TRGC.GRF = ed446637e034104c5559b32c18afe78d
|
||||
TRGH.GRF = ee6616fb0e6ef6b24892c58c93d86fc9
|
||||
TRGT.GRF = e30e8a398ae86c03dc534a8ac7dfb3b6
|
||||
OPENTTD.GRF = e67a3aaf13b81bab5d72d7440244e20c
|
||||
OPENTTD.GRF = 245e2125cecfe7e0b6c5e85d32459f86
|
||||
|
||||
[origin]
|
||||
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
|
||||
|
@@ -55,7 +55,7 @@ TRGI.GRF = da6a6c9dcc451eec88d79211437b76a8
|
||||
TRGC.GRF = ed446637e034104c5559b32c18afe78d
|
||||
TRGH.GRF = ee6616fb0e6ef6b24892c58c93d86fc9
|
||||
TRGT.GRF = fcde1d7e8a74197d72a62695884b909e
|
||||
OPENTTD.GRF = e67a3aaf13b81bab5d72d7440244e20c
|
||||
OPENTTD.GRF = 245e2125cecfe7e0b6c5e85d32459f86
|
||||
|
||||
[origin]
|
||||
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
|
||||
|
@@ -55,7 +55,7 @@ TRGIR.GRF = 0c2484ff6be49fc63a83be6ab5c38f32
|
||||
TRGCR.GRF = 3668f410c761a050b5e7095a2b14879b
|
||||
TRGHR.GRF = 06bf2b7a31766f048baac2ebe43457b1
|
||||
TRGTR.GRF = de53650517fe661ceaa3138c6edb0eb8
|
||||
OPENTTD.GRF = e67a3aaf13b81bab5d72d7440244e20c
|
||||
OPENTTD.GRF = 245e2125cecfe7e0b6c5e85d32459f86
|
||||
|
||||
[origin]
|
||||
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
|
||||
|
342
changelog.txt
@@ -1,3 +1,331 @@
|
||||
1.1.4-RC1 (2011-11-20)
|
||||
------------------------------------------------------------------------
|
||||
- Fix: 3-column view of NewGRF GUI had too much space for certain font sizes (r23251)
|
||||
- Fix: Ignore special characters, such as the train 'character', when determining a fallback font (r23237)
|
||||
- Fix: [NewGRF] Make train var 0xF3 consistent with TTDPatch (r23231)
|
||||
- Fix: Invalidate build vehicle window when changing the setting for wagon speed limits (r23211)
|
||||
- Fix: [NoAI] Hide AIObject from the documentation as it cannot be used (r23204, r23201)
|
||||
- Fix: [Network] Unstable sorting in the network list when two servers had the exact same name [FS#4829] (r23202)
|
||||
- Fix: Oil rigs that 'expired' did not get removed from the station list [FS#4822] (r23199)
|
||||
- Fix: [Squirrel] replace custom qsort by std::sort to fix stack overflow [FS#4830] (r23190, r23187, r23186)
|
||||
- Fix: Do not display railway fences between track and waypoints [FS#4627] (r23163)
|
||||
- Fix: [NoAI] AIOrder did not handle implicit orders correctly in all cases [FS#4823] (r23135, r23133)
|
||||
- Fix: When any keys on the on-screen keyboard were pressed the text cursor disappeared (r23132)
|
||||
- Fix: [NoAI] AIOrder::IsCurrentOrderPartOfOrderList return false for valid vehicles and crashed for invalid ones (r23131)
|
||||
- Fix: [NoAI] calling require() to include a file gave you 100.000 opcodes for free (r23117)
|
||||
- Fix: Allow accessing the server's client info as well in the admin network [FS#4813] (r23115)
|
||||
- Fix: [NewGRF] Run StartupEngines() if NewGRFs changed during loading a savegame, just like it is running when NewGRFs are changed during a game (r23083)
|
||||
- Fix: Account for snow line table when determining the snow line for building houses (r23082)
|
||||
- Fix: [NewGRF] If a NewGRF overrides a default house the minimum start year for that house was set to 1930 [FS#4794] (r23059)
|
||||
- Fix: [NoAI] AIOrder::GetOrderCount() did not hide implicit orders (r23057)
|
||||
- Fix: [NewGRF] When vehicles break down, update the image cache after changing the vehicle state (r23050)
|
||||
- Fix: Use the same forest-check for the vegetation-map colour as for nearby station names [FS#4810] (r23049)
|
||||
- Fix: Check that the selected font size is valid the font face in use and choose the nearest size to that selected if not. Font metrics should then just work (r23038)
|
||||
- Fix: [NewGRF] Strip newlines from NewGRF strings that should not have newlines, e.g. the NewGRF's name [FS#4769] (r23036, r22970)
|
||||
- Fix: The last custom playlist items went lost when the files in the .obm are not contiguous [FS#4776] (r23035, r23034, r23033)
|
||||
- Fix: Palette conversion windows to DOS for light house / stadium animated colour was mixed up (r23032)
|
||||
- Fix: For the admin 'bots' there was no distinction between bankruptcy and manual removal of companies even though the API suggested that [FS#4804] (r23031)
|
||||
- Fix: Always show a chat message and send an admin packet when a new company is made [FS#4796] (r23030)
|
||||
- Fix: Pass bottom of dropdown item rather than bottom of dropdown window, so the dropdown gets drawn better with different font sizes (r23018)
|
||||
- Fix: AI backlog was to short to fully display the backtrace of some AI crashes [FS#4798] (r23012)
|
||||
- Fix: When the last used server is deleted from the list also clear the last used server if it is the same [FS#4791] (r23011)
|
||||
- Fix: [NewGRF] Make sure temporary storage is cleared before test and exec runs for DoCommands so NewGRF callbacks cannot change the result between the runs (r22996)
|
||||
- Fix: [NewGRF] Tile was cleared before the object-placement callback was run, resulting in possible differences in test and exec run [FS#4775] (r22994)
|
||||
- Fix: [NoAI] Do not return ERR_UNKNOWN when the vehicle would become too long (r22988)
|
||||
- Fix: Draw buoy sprite without outline on the map, fix minor issues with original graphics (r22974, r22973, r22971, r22962)
|
||||
- Fix: The savegame description and loading of savegames would crash with savegames from a patched stable (which did not bump the savegame version) [FS#4778] (r22958, r22957)
|
||||
- Fix: Guard from reading outside the silly name list (r22955)
|
||||
- Fix: [NewGRF] Properly limit the length of strings in a choice list (r22952)
|
||||
- Fix: [NewGRF] Do not call CB 32 for disaster, effect vehicles or aircraft shadows/rotors (r22947)
|
||||
- Fix: [NewGRF] Crash when accessing vehicle var 44 for a non-front aircraft [FS#4781] (r22946)
|
||||
- Fix: Calculate the size of the start/stop vehicle button correctly (r22941)
|
||||
- Fix: [OSX] Various MacOSX 10.7 issues causing OpenTTD to not work [FS#4751] (r22921, r22895, r22893, r22889)
|
||||
- Fix: [NewGRF] Properties for feature 0x05 were not zeroed for each NewGRF, thus waterfeatures could glitch when the properties were set by a previous NewGRF and the NewGRF assumed the properties to be unmodified (r22918)
|
||||
- Fix: Old TTO/TTD savegames could get non-stop via orders upon savegame loading, even when those orders did not exist back then. This 'conversion' feature is something for TTDPatch and old OpenTTD savegames [FS#4716] (r22914)
|
||||
- Fix: The icon would (almost) never be shown for SDL builds [FS#4617] (r22910)
|
||||
- Fix: The name of the heightmap glitches in the 'play heightmap' window (r22902)
|
||||
- Fix: Locks would be incorrectly assembled (r22108)
|
||||
|
||||
|
||||
1.1.3 (2011-09-15)
|
||||
------------------------------------------------------------------------
|
||||
- Fix: Prevent authentication bypass for the admin port when a new game is started [FS#4771] (r22934)
|
||||
- Fix: TTO savegames with any aircraft not in an hangar caused crashes during load (r22915)
|
||||
- Fix: Windows 2000 and XP without service pack 3 must use the win9x binary/installer; the newer MSVC compiler of the compile farm does not support those versions of Windows anymore [FS#4749] (r22909)
|
||||
|
||||
|
||||
1.1.3-RC1 (2011-09-04)
|
||||
------------------------------------------------------------------------
|
||||
- Add: River graphics for the original base set (r22766)
|
||||
- Fix: [NewGRF] DCxx text references via the textstack are not allowed, but caused crash [FS#4758] (r22882)
|
||||
- Fix: Harden memory allocation (r22881, r22880, r22875)
|
||||
- Fix: Miscalculation of train curve speed limits (r22879)
|
||||
- Fix: Validate image dimensions before loading [CVE-2011-3343] [FS#4747] (r22878, r22877, r22874, r22873)
|
||||
- Fix: Report an error in the news if autoreplace/renew fails due to the engine type being no longer available [FS#4712] (r22876)
|
||||
- Fix: Perform stricter checks on RLE compressed BMP images [CVE-2011-3343] [FS#4746] (r22872, r22871)
|
||||
- Fix: [NewGRF] Variables 40 and 81 of callback 18 are not the same as 80 (r22867)
|
||||
- Fix: [NewGRF] Generic callbacks shall chain to the next GRF when the callback fails (r22866, r22865)
|
||||
- Fix: Perform stricter checks on some commands [CVE-2011-3341] [FS#4745] (r22845)
|
||||
- Fix: Harden savegame load against too many AI config settings [CVE-2011-3342] [FS#4748] (r22843)
|
||||
- Fix: Compilation with GCC 4.7 (r22832, r22728, r22719)
|
||||
- Fix: Allow to demolish aqueducts built in the scenario editor [FS#4741] (r22821)
|
||||
- Fix: Towns expanding from the 'wrong' side of a tunnel or bridge [FS#4731] (r22810, r22809)
|
||||
- Fix: [NewGRF] String codes for dates should use unsigned words, like old OpenTTD did before it learned dates before 1920 (r22774)
|
||||
- Fix: [NoAI] Clarify the meaning of AIStation::IsWithinTownInfluence(), AITile::IsWithinTownInfluence() and AITown::IsWithinTownInfluence() [FS#4702] (r22763)
|
||||
- Fix: [NewGRF] Also free allocated depot tables of NewGRF airports (r22760)
|
||||
- Fix: [NewGRF] Invalid memory access when querying the grfID of the default objects [FS#4730] (r22757)
|
||||
- Fix: When marking tile selections dirty, use the height information of the corners instead of the surface slope. This is more accurate when the foundation is kind of undefined [FS#4727] (r22755)
|
||||
- Fix: Make aircraft point to the exit when leaving the hangar [FS#4696] (r22743, r22742, r22741)
|
||||
- Fix: Display the size of the leveled platform in the measurement tooltip of terraforming operations [FS#4708] (r22740, r22739)
|
||||
- Fix: Setting company passwords via the GUI on servers (including starting a company with the default password) failed, so no client could join that company [FS#4722] (r22738)
|
||||
- Fix: [NewGRF] The construction stage sprites were incorrectly selected in cases other than 1 or 4 sprites per set (r22731)
|
||||
- Fix: [NoAI] AITile::GetCargoAcceptance, AITile::GetCargoProduction and AIRail::BuildNewGRFRailStation did not check the cargo argument for validity (r22726)
|
||||
- Fix: [NewGRF] Always draw NewGRF supplied texts with a default colour (r22725)
|
||||
- Fix: [NewGRF] Do not restrict AdvVarAct2 to 255 operations (r22723)
|
||||
- Fix: If there is no point in opening the rail/air toolbar, do not open it for people who use hotkeys either rather than only for those using GUI elements (r22716, r22715, r22714)
|
||||
- Fix: [NoAI] Allow AIAirport::GetNoiseLevelIncrease() also for expired airports [FS#4704] (r22710)
|
||||
|
||||
|
||||
1.1.2 (2011-08-14)
|
||||
------------------------------------------------------------------------
|
||||
- Fix: Some corrupted savegames could crash OpenTTD instead of showing the 'savegame corrupted' message [CVE-2011-3342] [FS#4717] (r22737, r22736)
|
||||
- Fix: [NewGRF] Triggering NOT_REACHED when playing with a NewGRF that supplies genders/cases for a language that was not installed [FS#4718] (r22735)
|
||||
|
||||
|
||||
1.1.2-RC2 (2011-07-30)
|
||||
------------------------------------------------------------------------
|
||||
- Fix: Cost of adding an extra road type to a bridge or tunnel was undercalculated [FS#4680, FS#4681] (r22700, r22699)
|
||||
- Fix: Only insert cleared object tiles into _cleared_object_areas if clearing actually succeeds, else subsequential tests of the same tile will be skipped and considered successful [FS#4694] (r22698)
|
||||
- Fix: When building a house it could be built at the wrong place if multitile houses failed some tests (r22697)
|
||||
- Fix: [Network] Failed network address resolving could trigger temporary freezes [FS#4697] (r22696, r22695)
|
||||
- Fix: [NewGRF] The override managers were not reset in some cases like creating a new scenario [FS#4691] (r22693)
|
||||
- Fix: [NewGRF] Aircrafts defined with IDs above the default aircrafts always defaulted to passenger cargo (r22690)
|
||||
|
||||
|
||||
1.1.2-RC1 (2011-07-24)
|
||||
------------------------------------------------------------------------
|
||||
- Change: [NewGRF] Only allow access (via hotkey and menu) to the bounding box visualisation when NewGRF developer tools are enabled (r22675)
|
||||
- Fix: [NewGRF] Disallow accessing variable 1B in network games due to desync reasons (r22682)
|
||||
- Fix: Switching from a red to a white highlight (by switching to another tool) without switching the highlight mode (HT_RECT etc.) did not mark the selection dirty [FS#4670] (r22649)
|
||||
- Fix: [NewGRF] Parameters from NewGRFs were not properly parsed in all cases [FS#4599] (r22648, r22630, r22629, r22628, r22627)
|
||||
- Fix: GetSection() does not return a LockPart [FS#4678] (r22645)
|
||||
- Fix: [NewGRF] Disallow building NewObjects on water tiles owned by another company (r22643)
|
||||
- Fix: [NewGRF] Disable the 'set parameters' button in the NewGRF GUI, if the GRF specifies to have no parameters and one would not be able to set any parameters anyway (r22642)
|
||||
- Fix: Keep the previous owner of the upper and lower lock parts if they are built on existing water (r22638)
|
||||
- Fix: [NewGRF] Airports should not expose the tile specific random bits of the north tile. Only airport tiles should access those (r22636)
|
||||
- Fix: [NewGRF] Correctly reseed random bits of industries and industry tiles (r22635, r22634)
|
||||
- Fix: [NewGRF] Implement variables 25 and 7F for railtypes (r22633)
|
||||
- Fix: [NewGRF] Additional text in fund industry window is NewGRF supplied and thus should have a default colour (r22631)
|
||||
- Fix: Also initialise _old_vds with newgame settings; TTD savegames do not contain these settings [FS#4622] (r22626)
|
||||
- Fix: Do not zero the orders of disaster vehicles when converting savegames [FS#4642] (r22625)
|
||||
- Fix: When closing an AI company the local player cheated to, we need to cheat him to another company [FS#4654] (r22624, r22623)
|
||||
- Fix: When closing down companies their shares in other companies must be sold even if share trading is disabled at that point of time (r22622)
|
||||
- Fix: When asking the user to confirm an unsafe unpausing, there is no need to execute a command if 'no' is choosed. This also prevents crashing when clicking unpause while the confirm window is shown (r22621)
|
||||
- Fix: Enforce refit orders to be 'always go to depot' orders; service-only and stop-in-depot orders make no sense with refitting [FS#4651] (r22620)
|
||||
- Fix: Consider the size of the vehicle sprite for the lineheight in the company GUI. This also makes the widget containing the sprite not skip drawing it, if the bounds of the widget are outside of the drawing area though the sprite actually needs drawing [FS#4662] (r22619)
|
||||
- Fix: When changing difficulty settings over the network, do not just reopen the difficulty window if any game options window is opened; instead invalidate them properly [FS#4653] (r22618, r22617)
|
||||
- Fix: [NewGRF] If callback 33 returns a value out of range, no sound effect shall be played [FS#4656] (r22614)
|
||||
- Fix: Use rotated heightmap sizes for reporting scaling problems [FS#4663] (r22608)
|
||||
- Fix: Do not show cargo accepted/produced in the new station window when no tiles are selected (mouse hovering a window or toolbar) [FS#4647] (r22595, r22593)
|
||||
- Fix: Add active NewGRFs to the list of available ones when selecting the empty preset [FS#4644] (r22594)
|
||||
- Fix: Reading of heightmaps with uncommon BMP formats failed due to uninitialised variables [FS#4645] (r22592)
|
||||
- Fix: PBS order forecasting modified the current order index in case of a goto-nearest-depot order and no depot could be found [FS#4641] (r22589)
|
||||
- Fix: Remove BaseStorageArrays from _changed_storage_arrays on destruction (r22583, r22551)
|
||||
- Fix: Do not increment STL iterators after they have been invalidated (r22582)
|
||||
- Fix: Do not lower the arrow buttons in the NewGRF/AI parameter windows if they are clicked when disabled (r22553, r22499)
|
||||
- Fix: Clear airport persistent storage on construction/removal of airports (r22552)
|
||||
- Fix: Possible crash when opening the airport build window for the first time [FS#4619] (r22538)
|
||||
- Fix: Replace the half small airport structure on the intercontinental airport with some grass [FS#3494] (r22537)
|
||||
- Fix: Documentation omission regarding admin protocol [FS#4632] (r22536)
|
||||
- Fix: [NoAI] Doing rescan_ai in a game with running AIs caused a crash [FS#4631] (r22534)
|
||||
- Fix: Do not create an implicit order if the current order is the first order in the order list and we visit the station of the last entry of the order list (r22532)
|
||||
- Fix: MinGW 64 related compilation issues [FS#4623] (r22522, r22491, r22490, r22489)
|
||||
- Fix: The layout selectors of the airport build GUI did not latch properly (r22497, r22495)
|
||||
- Fix: Callback result for airport layout name was incorrectly used (r22496)
|
||||
- Fix: Airport preview sprite can depend on the layout, so update the cached SpriteID when the layout changes (r22494)
|
||||
- Fix: Engine IDs for coal and mail wagons were swapped in the TTO savegame conversion [FS#4622] (r22487)
|
||||
- Fix: The caption of centered windows could be moved out of the main window and thus become inaccessible when resizing the main window (r22485, r22484)
|
||||
- Fix: No client error packet was sent to the admin bots [FS#4585] (r22384)
|
||||
|
||||
|
||||
1.1.1 (2011-06-01)
|
||||
------------------------------------------------------------------------
|
||||
- Change: Automatic orders are better called implicit orders as no real order influencing path finding is added (r22474, r22473)
|
||||
- Fix: Only try to insert implicit orders for ground vehicles. Aircraft may reach unscheduled terminals when skipping orders [FS#4624] (r22492)
|
||||
|
||||
|
||||
1.1.1-RC1 (2011-05-15)
|
||||
------------------------------------------------------------------------
|
||||
- Feature: [NewGRF] Allow to filter by town of the current industry when using industry variable 0x68 [FS#4591] (r22434)
|
||||
- Change: Improve the speed of YAPF by tweaking hash tables size (r22351, r22350, r22348)
|
||||
- Change: Show one digit of the fractional train length in the depot (r22336, r22305, r22304, r22303)
|
||||
- Fix: When determining the executable path failed, the working directory was used instead, circumventing the not-home-directory check [FS#4613] (r22465)
|
||||
- Fix: [Windows] Prevent a crash when launching OpenTTD with -d from a MSYS console [FS#4587] (r22464)
|
||||
- Fix: Update the saveload window immediatelly after scanning a new directory, so queued events reach the window when already updated [FS#4615] (r22463)
|
||||
- Fix: [NewGRF] The c and p parts of station vars 40, 41 and 49 were incorrect for large stations (r22455, r22286)
|
||||
- Fix: [NewGRF] Zero register 0x100 as specified before resolving custom station foundations (r22452)
|
||||
- Fix: Do not 'log' the NewGRFs in the screenshot when in the menu [FS#4610] (r22450)
|
||||
- Fix: [NewGRF] When GRFs are disabled via Action E or due to GRM failure, also display an error in the GUI (r22444, r22443)
|
||||
- Fix: [NewGRF] Do not popup fatal NewGRF error messages in the intro screen. The GRFs are not going to be activated there anyway and the GRF settings GUI will not display the errors either (r22442)
|
||||
- Fix: Catenary was drawn incorrectly next to level crossings with foundations (r22437)
|
||||
- Fix: [NewGRF] Apply railtype property 12 (station graphics) also to station groundsprites from action 1 (r22436)
|
||||
- Fix: Git revision detection would return too much when tags are involved (r22435)
|
||||
- Fix: [NewGRF] When action14 specified different values for the palette, the values were OR-ed. Use the last set value instead (r22416)
|
||||
- Fix: [Network] Kicking yourself via remote console crashes the server [FS#4606] (r22414)
|
||||
- Fix: [NewGRF] Make sure the action2 ID of a generic feature callback is valid (r22409)
|
||||
- Fix: Check the availability year of all houses, not just the NewGRF houses, when making sure that at least one is available onwards from year 0 [FS#4581] (r22389, r22300, r22299)
|
||||
- Fix: When a game uses a lot of NewGRFs the buffer for storing that information in the PNG is too small (r22388)
|
||||
- Fix: Windows' recv seems to return 'graceful closed' before having passed the remaining buffer which causes OpenTTD to think all connections are 'incorrectly' terminated, i.e. without the 'I am leaving' packet from the client. So let the client wait a tiny bit after sending the 'I am leaving' packet and before gracefully closing the connection [FS#4601] (r22387)
|
||||
- Fix: When the last AI company gets removed, the 'dead' state was not reset in the AI debug window [FS#4602] (r22386)
|
||||
- Fix: Recolouring of silicon bridge was done incorrectly (r22380, r22379, r22378)
|
||||
- Fix: Crash when clicking a removed company in the vehicle list dropdowns [FS#4592] (r22373)
|
||||
- Fix: Keep better accounting of the order in which clients joined; client cannot be starved from joining and they get shown the amount of clients waiting in front of them (r22372, r22370, r22369, r22368, r22367, r22366, r22365, r22364, r22363, r22362, r22361)
|
||||
- Fix: Make sure saving has completely and utterly finished before starting a new one. Otherwise you could start a save, which would be marked as done by the previous save stopping and then yet another save could be started... and that could create a deadlock [FS#4596] (r22371)
|
||||
- Fix: Delete the client list popup when the client got removed (instead of previously selecting some other client) (r22360, r22359, r22358)
|
||||
- Fix: When inserting automatic orders, do not create consecutive duplicate orders (r22333, r22332, r22331, r22330, r22329, r22328, r22327)
|
||||
- Fix: Destinations of conditional orders were update incorrectly when deleting orders in front of the conditional orders, if the target order was the order just before of the conditional order (r22326)
|
||||
- Fix: Vehicles skipped orders when inserting automatic orders failed (r22324)
|
||||
- Fix: [NewGRF] When determining refittability use the cargo translation table of the GRF setting the refitmask instead of the GRF defining the action 3 (r22316)
|
||||
- Fix: Make road vehicles, ships and aircraft skip orders if they are leaving a depot and heading to the same one again; just like trains (r22309)
|
||||
- Fix: Waiting on a server could kick the client, or rather the client would kick itself due to an unexpected packet [FS#4574] (r22308)
|
||||
- Fix: When drawing the town authority window, check whether the availability of the actions changed, and force a complete redraw in that case (r22307)
|
||||
- Fix: The 'freeform edges' setting could be enabled when there were buoys on the northern border [FS#4580] (r22297)
|
||||
- Fix: Reset Window::scrolling_scrollbar when raising scrollbar buttons [FS#4571] (r22294)
|
||||
|
||||
|
||||
1.1.0 (2011-04-01)
|
||||
------------------------------------------------------------------------
|
||||
- Fix: In the scenario editor you could build a ship depot using the appropriate hotkey. Removing that depot causes an assertion to trigger [FS#4558] (r22266)
|
||||
|
||||
|
||||
1.1.0-RC3 (2011-03-18)
|
||||
------------------------------------------------------------------------
|
||||
- Fix: New game settings were applied too early when starting a game via a heightmap [FS#4557] (r22259)
|
||||
- Fix: Do not resort town, industry and signs list directly in OnInvalidateData(). There might be a scheduled rebuild which needs execution first. So, only set a trigger for resorting [FS#4546] (r22249, r22248, r22247, r22246, r22245, r22244, r22243, r22242, r22241, r22236, r22228, r22227, r22226)
|
||||
- Fix: [NewGRF] Object variable 0x48 was not available in callback 0x15C (r22231)
|
||||
- Fix: Compilation when compiling with --disable-ai (r22222)
|
||||
- Fix: When downloading a file via HTTP failed mid-way and OpenTTD fell back to the old system the partial downloaded amount would be counted twice [FS#4543] (r22208)
|
||||
- Fix: The 'center' (for movement) of vehicles is (currently still) always at 4/8th original vehicle length from the front, so trains should stop at the same location regardless of the length of the front engine [FS#4545] (r22206)
|
||||
- Fix: Make the base costs for building and demolishing NewObjects also local to the individual NewGRFs (r22204)
|
||||
- Fix: Removing a station order could stop when removing first automatic order (r22200)
|
||||
- Fix: Invalidate the object build window when using the date cheat (r22193)
|
||||
|
||||
|
||||
1.1.0-RC2 (2011-03-04)
|
||||
------------------------------------------------------------------------
|
||||
- Fix: Following a vehicle with a very high VehicleID was impossible (r22181)
|
||||
- Fix: [NewGRF] Memory leak if an industry NewGRF had more than one prop A or 15, or a station NewGRF had more than one prop 09 (r22175, r22165)
|
||||
- Fix: [NewGRF] Disable a station NewGRF when it contains an unterminated spritelayout in action0 prop 08 instead of crashing (r22164)
|
||||
- Fix: Building a station part adjacent to both an existing station and a rail waypoint failed [FS#4541] (r22163)
|
||||
- Fix: No update of NewGRF window when unknown GRF name becomes available [FS#4533] (r22162)
|
||||
- Fix: [NewGRF] Industry prop 0x11 is 4-bytes long, not 3 bytes (r22157)
|
||||
- Fix: Stations/infrastructure were not properly sold on some clients during bankruptcy [FS#4529] (r22154)
|
||||
- Fix: The Greek translation did not work as it breached the 200.000 bytes 'limit' for loading language files [FS#4536] (r22153)
|
||||
- Fix: Windows video driver crashed when it could not go to full screen at the resolution of the configuration file when starting OpenTTD [FS#4521] (r22149)
|
||||
- Fix: Do not run savegame conversion during SlNullPointers; the pointer might not be converted or be NULL at that point (r22146)
|
||||
- Fix: Some valid keycodes were ignored along with the invalid ones (r22142)
|
||||
- Fix: When commands need to invalidate windows, process these events asynchronously before the next redraw. Calling window code directly from command scope uses wrong _current_company and might issue nested DoCommands() which interfer with the running command [FS#4523] (r22141, r22140, r22135, r22134)
|
||||
- Fix: [NewGRF] Skipping only the invalid part of an action14 failed, the rest of the action was skipped instead (r22138)
|
||||
- Fix: Spectators had crashes when closing buoy windows (r22131)
|
||||
- Fix: Build-station-window showed wrong selection when reopening [FS#4530] (r22128)
|
||||
- Fix: Canals would get drawn as land in the smallmap when using the owner window (r22127)
|
||||
- Fix: The animation-ness of two goldmine tiles were swapped, causing the wheeltower to not work properly, and the bottom corner to show the wrong sprite [FS#4528] (r22125)
|
||||
- Fix: CommandQueue::Pop() did not update 'last'; popping the last item caused the queue to disconnect unless there was only one item [FS#4522] (r22123)
|
||||
- Fix: When a NOT_REACHED in saveload can be reached due to an invalid savegame, use SlErrorCorrupt instead. In other words, do not crash but show an error message (r22122)
|
||||
- Fix: In case of high frame_freq one could get commands executed after a new network game was started (r22121)
|
||||
- Fix: [NoAI] Prevent AIs from getting consistently over their allowed amount of operations by subtracting the amount they went over 'budget' from the budget for the next 'tick' (r22120)
|
||||
- Fix: The refit window was not correctly updated after selecting with Ctrl+Click [FS#4525] (r22118)
|
||||
- Fix: CanRemoveRoadWithStop() failed for _current_company = OWNER_TOWN, and for OWNER_NONE-owned road (r22117)
|
||||
|
||||
|
||||
1.1.0-RC1 (2011-02-18)
|
||||
------------------------------------------------------------------------
|
||||
- Feature: [NewGRF] Test all possible industry layouts during construction and prospecting [FS#4131] (r22012, r22010)
|
||||
- Feature: Wheel scrolling in the console (r21982)
|
||||
- Feature: Console command to reset the engine pool. It removes the traces of engines which are no longer associated to a NewGRF, and can be used to e.g. 'fix' scenarios which were screwed up by the author. You can only use it when there are no vehicles in the game though (r21975)
|
||||
- Feature: Add a setting to enable/disable funding local road reconstruction (r21974)
|
||||
- Feature: Introduce 'minimal' number of industries as a replacment for the old 'none' setting in the new game window (r21969)
|
||||
- Change: When loading old savegames with long trains set the maximum train length to the length of the longest train (r22061)
|
||||
- Change: Always report mammoth trains are disabled to NewGRFs, and allow the maximum train length to be modified in multiplayer as well [FS#4471] (r22004)
|
||||
- Fix: Remove invalid keycodes when reading hotkeys.cfg [FS#4510] (r22094)
|
||||
- Fix: The server list did not get sorted with one item in it, so the 'position in the list' variable was never updated causing problems when using the keyboard shortcuts for scrolling [FS#4514] (r22093)
|
||||
- Fix: When deleting towns, only relocate objects during DC_EXEC (r22087)
|
||||
- Fix: [Windows] If fullscreen fails with current resolution, use desktop resolution [FS#4489] (r22081)
|
||||
- Fix: The owner view of the smallmap was not updated after a company colour change (r22079)
|
||||
- Fix: Maximum train length interfered with wagon replacement when wagon removal was turned on [FS#4499] (r22078)
|
||||
- Fix: NewGRFs with invalid multi-tile houses could cause a valid 1x1 house following it to be seen as multi-tile, causing crashes [FS#4501] (r22075)
|
||||
- Fix: Immediately update the train weight when you change the multiplier for train cargo weight (r22073)
|
||||
- Fix: Some hotkey names in hotkey.cfg for the scenario editor toolbar were completely bogus (r22071)
|
||||
- Fix: Crashes when disconnecting after requesting the map [FS#4503] (r22070)
|
||||
- Fix: Delete all savegame packets, not just the first one (r22069)
|
||||
- Fix: Return 'connection lost' instead of 'okay' when SendPackets closed the connection, so we do not try to do anything else with the closed socket (r22068)
|
||||
- Fix: Do not hold a mutex when sending packets and thus possibly closing the connection as that wants to acquire the mutex again (r22067)
|
||||
- Fix: Verify we can allocate an Order, OrderList, CargoPacket, CargoPayment, and others before we actually try to do so (all corner cases) [FS#4468] (r22066, r22057, r22047, r22042, r22040, r22033, r22031, r22026, r22025, r22024, r22023, r22022)
|
||||
- Fix: Crash when disconnecting and reconnecting while the server is still saving the savegame [FS#4497] (r22064)
|
||||
- Fix: Memory leak when saving with LZMA or zlib fails mid-way (r22062)
|
||||
- Fix: Make the send chat message window follow the position of the status bar (r22059)
|
||||
- Fix: Metric and imperial HP are not the same. As imperial HP are used internally, set a conversion rate for metric HP [FS#4408] (r22056)
|
||||
- Fix: [Squirrel] Some invalid squirrel code caused the squirrel compiler to crash [FS#4490] (r22055)
|
||||
- Fix: The land area information window was not updated after a language change (r22053)
|
||||
- Fix: Roads under road stops would get a wrong owner after overbuilding (r22051)
|
||||
- Fix: In ancient savegames, e.g. TTO savegames, non primary vehicles (wagons and such) could have unitnumbers or even orders. However, these orders would not be updated when a station is removed. As such some savegames have wagons with current orders to invalid stations which triggers trouble in the load conversion. So, trash any orders/unitnumbers a non-primary vehicle has [FS#4496] (r22050)
|
||||
- Fix: [NewGRF] Company 0 does not always exist, so put temporary vehicles in a valid company (r22048)
|
||||
- Fix: Make sure order indices stay in range when copying, sharing, unsharing or deleting all orders [FS#4487] (r22046)
|
||||
- Fix: Update the consist cache when a part of a train is flipped in the depot [FS#4493] (r22044)
|
||||
- Fix: Invalidate the right windows when a part of a train is flipped in the depot (r22043)
|
||||
- Fix: Tab completion in chat did not cycle through all possible options (r22038)
|
||||
- Fix: Crash when watching the vehicle view of a vehicle that has multiple sequential nearest depot orders (or consists of a single nearest depot order) when there is no depot with index 0 [FS#4488] (r22034)
|
||||
- Fix: The server list got not resorted/redrawn after NewGRFs were downloaded [FS#4482] (r22029)
|
||||
- Fix: When paused and having the allowed actions while paused setting on 'no actions' cheating money would fail [FS#4479] (r22016)
|
||||
- Fix: Only show one AI per unique ID instead of all versions in the output of 'openttd -h' (r22007)
|
||||
- Fix: Smoke/sparks of trains would be shown under bridges, or rather through bridges [FS#4480] (r22006)
|
||||
- Fix: When the difference between force and resistance is smaller than the mass(*4) there would be no acceleration anymore, even when at higher (or lower) speed the force and resistance balance out better [FS#4473] (r21997)
|
||||
- Fix: [YAPF] Under some circumstances vehicles could be lost [FS#4472] (r21996)
|
||||
- Fix: [NewGRF] Make computations of closest-land/water-distances handle waterish tiles more correctly (r21994)
|
||||
- Fix: When building a lock on dry land costs for clearing water were deducted rather than for building canals (r21993)
|
||||
- Fix: AIs trying to change the AIOF_GOTO_NEAREST_DEPOT flag for existing orders triggered an assert. Explicitly forbid this as precondition for SetOrderFlags [FS#4467] (r21992)
|
||||
- Fix: The share/copy-orders-cursor was not updated to refer to the new vehicle when it got autoreplaced/-renewed [FS#4466] (r21991)
|
||||
- Fix: Vehicle status bar glitches on speed changes (r21989)
|
||||
- Fix: Scrolling of the console in pages used wrong line height and scrolled too much (r21979)
|
||||
- Fix: Redraw the town authority window after modifying town authority settings (r21973)
|
||||
- Fix: Crash when a multiplayer company goes bankrupt with 'you' in it [FS#4464] (r21970)
|
||||
|
||||
|
||||
1.1.0-beta5 (2011-02-04)
|
||||
------------------------------------------------------------------------
|
||||
- Feature: GUI setting to disable reversing at signals (r21962)
|
||||
- Feature: Not loading and not unloading is now possible (r21961)
|
||||
- Change: [NewGRF] Disable the flipping of train engines/wagons in the depot by default for NewGRFs [FS#4462] (r21966)
|
||||
- Change: Show the length of vehicles in tiles, instead of half tiles in the depot (r21960)
|
||||
- Change: Replace longbridges settings with custom maximum bridge and tunnel length setting (r21959)
|
||||
- Change: Randomize the vehicle a small UFO targets, do not use the one with lowest index (r21949)
|
||||
- Fix: Do not count the number of vehicles but the length of vehicles to (configurably) limit train length [FS#4461] (r21960)
|
||||
- Fix: [NewGRF] Reset the carry flag every 4 bytes in Action 6 when adding more than one variable (r21951)
|
||||
- Fix: Road vehicle was moved under the bridge when it was destroyed by an UFO while on a bridge (r21948)
|
||||
- Fix: Crash when converting a savegame with vehicles crashed in a tunnel entry, or with vehicles reversing there (r21947)
|
||||
- Fix: Funny behaviour when a road vehicle reverses while overtaking, so abort the overtake attempt when reversing the road vehicle [FS#4447] (r21946)
|
||||
- Fix: Not all vehicles should be tested to be inside a tunnel upon savegame load [FS#4460] (r21940)
|
||||
- Fix: Do not remove existing road/tram bits when overbuilding stops of the opposite road type [FS#4457] (r21936)
|
||||
- Fix: Allow to overbuild road stops which are built over trams (r21935)
|
||||
- Fix: Automatic orders behave now stable wrt. service orders and are not added or removed depending on the need of servicing [FS#4440] (r21933)
|
||||
- Fix: The town window would not be invalidated in the scenario editor if the ground changed and thus the required cargos for town growth [FS#4554] (r21929)
|
||||
- Fix: Converting an expensive rail type to a cheap one could give more money than removing and rebuilding cost (r21919)
|
||||
- Fix: Languages improperly sorted in the 'start server' window [FS#4443] (r21918)
|
||||
- Fix: The minimum speed needed for (realistic) acceleration to work properly can sometimes be more than the (temporary) maximum speed causing Clamp to 'fail'. Make sure that the minimum speed always overrules the maximum speed [FS#4442] (r21916)
|
||||
- Fix: Include the capacity of non-refittable vehicles in the refitted-capacity, if their cargo matches (r21904)
|
||||
- Fix: Do not count articulated parts when passing the number of vehicles to refit to the command. That may exceed 8 bits (r21902)
|
||||
- Fix: [NoAI] Hide automatic orders from AIs as they have no way of dealing with them (r21900)
|
||||
- Fix: Do not show a vehicle selection in the RefitWindow for refit orders. You cannot select anything anyway (r21899)
|
||||
- Fix: Using a pointer-iterator and adding things (thus reallocating) to the iterated array caused OpenTTD to crash on invalid pointers [FS#4438] (r21898)
|
||||
- Fix: Only some scenarios from the main scenario folder and no heightmaps could be started in the 'start server' window [FS#4421] (r21892)
|
||||
- Fix: Crash when scrolling outside of the main window (with some video backends) [FS#4434] (r21889)
|
||||
- Fix: [NewGRF] String codes 0x80 and 0x81 were broken since the typechecking of string parameters [FS#4422] (r21885)
|
||||
- Fix: When a train after reversing ended at the last bit of a bridge ramp and directed outside the bridge, it could still have track set to TRACK_BIT_WORMHOLE (r21880)
|
||||
- Fix: When a single-vehicle train was reversed while on a slope, its GOINGUP/DOWN were not swapped (r21874)
|
||||
- Remove: Settings for vehicle speed in the vehicle view, long date in status bar, drawing of bridge pillars, support for depot orders, time tabling and joining of stations upon building (r21958, r21957, r21956, r21955, r21954)
|
||||
- Remove: The non-uniform stations setting; it has been broken for over a year, and thus not used [FS#4456] (r21953)
|
||||
|
||||
|
||||
1.1.0-beta4 (2011-01-21)
|
||||
------------------------------------------------------------------------
|
||||
- Feature: [NewGRF] Rail type property to influence sorting of rail types in the drop down list [FS#4394] (r21866)
|
||||
@@ -191,7 +519,7 @@
|
||||
- Change: Limit the number of exceptions in the refittable cargo list to 7 (r21083)
|
||||
- Change: Reduce the chances to accidentally break savegames with NewGRFs by limiting loading of savegames that miss NewGRFs or change NewGRF settings in-game [FS#3012] (r21116)
|
||||
- Change: Tuned realistic acceleration to be a bit more realistic in order to make acceleration 'slower', which highlights the differences between vehicle types more (r21106)
|
||||
- Change: Do not make client reconnect waiting time depend on the company; in coop games that does not spread clients at all, and most companies have a low number causing it not to be spread out either. Use the ClientID instead. (r21008)
|
||||
- Change: Do not make client reconnect waiting time depend on the company; in coop games that does not spread clients at all, and most companies have a low number causing it not to be spread out either. Use the ClientID instead (r21008)
|
||||
- Change: Add installing options or rather options to not install certain documentation, in a similar way to GRFCodec/catcodec (r20999)
|
||||
- Change: Only display liveries in the livery window if they are used by some vehicle somewhen (r20849)
|
||||
- Change: [NoAI] Rename AIAbstractList to AIList (r20563)
|
||||
@@ -625,7 +953,7 @@
|
||||
- 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: 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)
|
||||
@@ -2781,7 +3109,7 @@
|
||||
- Fix: Certain resolutions caused a crash when minimap was partly dragged outside the game window (r2424)
|
||||
- Fix: Deleting canals under bridges removed bridges first in certain configurations (r2436)
|
||||
- Fix: [NPF] Vehicles try to drive into a tunnel entrance from above (r2471)
|
||||
- Fix: [NewGRF] Some road vehicle action 0 properties were loaded as the wrong type (int8,int16,int32) causing undefined results. (like cargo types being wrong) (r2474)
|
||||
- Fix: [NewGRF] Some road vehicle action 0 properties were loaded as the wrong type (int8, int16, int32) causing undefined results, like cargo types being wrong (r2474)
|
||||
- Fix: The console variable autoclean_unprotected was linked to the variable _network_autoclean_protected (r2498)
|
||||
- Fix: Old bug in the PCX writer: The first pixel column contained garbage, the picture was shifted one to the right, and the last column was dropped (r2512)
|
||||
- Fix: Using the mouse wheel could lead to a crash if mouse was not over a widget (r2530)
|
||||
@@ -2847,9 +3175,9 @@
|
||||
- Fix: Disallow building an oil rig above sea level (r3416)
|
||||
- Fix: When removing a town-owned tunnel the player's rating was not reduced (r3418)
|
||||
- Fix: (Possible) game crash on removing track/road under bridge if a vehicle was on the track/road under the bridge and the track/road sloped (r3419)
|
||||
- Fix: [NewGRF] Only power should decide whether a rail vehicle is an engine or a wagon. (fixes SHIKI 810 in jpsetw.grf) (r3424)
|
||||
- Fix: [NewGRF] Only power should decide whether a rail vehicle is an engine or a wagon (r3424)
|
||||
- Fix: Incorrect validating of tree-planting command which can allow a buffer-overflow (r3446)
|
||||
- Fix: [NewGRF] When changing the sprite ID of a vehicle, if it is not FD (custom graphics), the value needs to changed from a 16bit array offset to an array index. (fixes tropicstw.grf) (r3449)
|
||||
- Fix: [NewGRF] When changing the sprite ID of a vehicle, if it is not FD (custom graphics), the value needs to changed from a 16bit array offset to an array index (r3449)
|
||||
- Fix: You could not remove an item from a list-type of config ingame from the configuration file (r3475)
|
||||
- Fix: [NewGRF] Always reinitialize the TTDPatch flags as patch settings may have changed (r3486)
|
||||
- Fix: Price for demolishing a bridge was dependent on orientation and map size (r3487)
|
||||
@@ -3033,7 +3361,7 @@
|
||||
- Fix: Destroyed train locks crossings [SF#1105112]
|
||||
- Fix: Upgrade rail fails when train under bridge [SF#1105281]
|
||||
- Fix: Trains do not think they're on a slope any more while they drive around in a tunnel [SF#1105959]
|
||||
- Fix: Buoys can now only be removed if no ship has it in their schedule. (This makes buoys more useable in multiplayer games again, as buoys cannot be deleted by other players if they are used.) [SF#1105963]
|
||||
- Fix: Buoys can now only be removed if no ship has it in their schedule. This makes buoys more useable in multiplayer games again, as buoys cannot be deleted by other players if they are used [SF#1105963]
|
||||
- Fix: Graph's keys get confused [SF#1106354]
|
||||
- Fix: Placing signals with 2x1 drags is treated as placing a single signal [SF#1106930]
|
||||
- Fix: Console ignoring return character occasionally [SF#1107350]
|
||||
@@ -3133,7 +3461,7 @@
|
||||
- Fix: Vehicles slow down under bridge if the track is on a foundation
|
||||
- Fix: You can no longer change name of waypoints whom are owned by somebody else
|
||||
- Fix: Shares are now also sold when a company goes bankrupt [SF#1090313]
|
||||
- Fix: It is no longer possible to crash trains of other companies by building a depot close to a station. (even more: trains do no longer enter tiles that do not belong to his owner) [SF#1087701]
|
||||
- Fix: It is no longer possible to crash trains of other companies by building a depot close to a station; trains do no longer enter tiles that do not belong to his owner [SF#1087701]
|
||||
- Fix: Crashed trains are not reported to have too few orders any more [SF#1087403]
|
||||
- Fix: Backup-order-list was not closed with an OT_NOTHING, [SF#1086375]
|
||||
- Fix: Docks now have a button to display the catchment area [SF#1085255]
|
||||
|
27
config.lib
@@ -6,8 +6,13 @@
|
||||
# See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
log() {
|
||||
if [ $1 = "1" ]; then echo "$2"; fi
|
||||
echo "$2" >> $config_log
|
||||
if [ $1 = "1" ]; then
|
||||
shift
|
||||
echo "$@"
|
||||
else
|
||||
shift
|
||||
fi
|
||||
echo "$@" >> $config_log
|
||||
}
|
||||
|
||||
set_default() {
|
||||
@@ -455,6 +460,7 @@ detect_params() {
|
||||
|
||||
# Clean the logfile
|
||||
echo "" > $config_log
|
||||
log 2 "Invocation: $0 $*"
|
||||
}
|
||||
|
||||
save_params() {
|
||||
@@ -531,7 +537,7 @@ check_params() {
|
||||
check_build
|
||||
check_host
|
||||
|
||||
# Check for universal builds; they only make sense for OSX, so fail if enabled for another OS
|
||||
# Check for universal builds; they only make sense for OSX, so fail if enabled for another OS
|
||||
if [ "$enable_universal" = "0" ]; then
|
||||
log 1 "checking universal build... no"
|
||||
else
|
||||
@@ -1290,6 +1296,15 @@ make_compiler_cflags() {
|
||||
cxxflags="$cxxflags -std=gnu++0x"
|
||||
fi
|
||||
|
||||
if [ $cc_version -ge 47 ]; then
|
||||
# Disable -Wnarrowing which gives many warnings, such as:
|
||||
# warning: narrowing conversion of '...' from 'unsigned int' to 'int' inside { } [-Wnarrowing]
|
||||
# They are valid according to the C++ standard, but useless.
|
||||
cxxflags="$cxxflags -Wno-narrowing"
|
||||
# Disable bogus 'attempt to free a non-heap object' warning
|
||||
flags="$flags -Wno-free-nonheap-object"
|
||||
fi
|
||||
|
||||
if [ "$enable_lto" != "0" ]; then
|
||||
# GCC 4.5 outputs '%{flto}', GCC 4.6 outputs '%{flto*}'
|
||||
has_lto=`$1 -dumpspecs | grep '\%{flto'`
|
||||
@@ -2265,6 +2280,12 @@ detect_sdl() {
|
||||
return 0
|
||||
fi
|
||||
|
||||
if [ "$os" = "OSX" ]; then
|
||||
log 1 "WARNING: sdl is known to fail on some versions of Mac OS X"
|
||||
log 1 "WARNING: with some hardware configurations. Use at own risk!"
|
||||
sleep 5
|
||||
fi
|
||||
|
||||
if [ "$with_sdl" = "1" ] || [ "$with_sdl" = "" ] || [ "$with_sdl" = "2" ]; then
|
||||
sdl_config="sdl-config"
|
||||
else
|
||||
|
@@ -1,5 +1,5 @@
|
||||
Multiplayer manual for OpenTTD
|
||||
Last updated: 2011-01-20
|
||||
Last updated: 2011-02-16
|
||||
------------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -17,6 +17,12 @@ Table of contents
|
||||
|
||||
1.0) Starting a server
|
||||
---- -----------------
|
||||
- Make sure that you have your firewall of the computer as well as possible
|
||||
routers or modems of the server configured such that:
|
||||
* port 3979 is free for both UDP and TCP connections in- and outgoing
|
||||
* port 3978 is free outbound for UDP in order to advertise with the master
|
||||
server (if desired). Otherwise you'll have to tell players your IP.
|
||||
* port 3977 if use of the admin interface is desired (see admin_network.txt)
|
||||
- Click "multiplayer" on the startup screen
|
||||
- Click "start server"
|
||||
- Type in a game name
|
||||
@@ -206,7 +212,8 @@ Table of contents
|
||||
6.0) Troubleshooting
|
||||
---- ---------------
|
||||
- My advertising server does not show up in list at servers.openttd.org
|
||||
Run openttd with the '-d net=2' parameter, as this will show whether it
|
||||
receives replies from the master server. If it does not receive replies it
|
||||
is most likely that you need to configure your router to forward ports
|
||||
3979 (both TCP and UDP) to the computer that is hosting the game.
|
||||
Run openttd with the '-d net=2' parameter. That will show which incoming
|
||||
communication is received, whether the replies from the master server or
|
||||
communication from an admin tool reach the programme. See section 1
|
||||
'Starting a server' further up for the ports and protocols used by OpenTTD.
|
||||
The ports can be configured in the config file.
|
||||
|
@@ -99,7 +99,7 @@ elif [ -d "$ROOT_DIR/.git" ]; then
|
||||
# No rev? Maybe it is a custom git-svn clone
|
||||
REV_NR=`LC_ALL=C git log --pretty=format:%b --grep="git-svn-id:.*@[0-9]*" -1 | sed "s@.*\@\([0-9]*\).*@\1@"`
|
||||
fi
|
||||
TAG="`git name-rev --name-only --tags --no-undefined HEAD 2>/dev/null`"
|
||||
TAG="`git name-rev --name-only --tags --no-undefined HEAD 2>/dev/null | sed 's@\^0$@@'`"
|
||||
if [ -n "$TAG" ]; then
|
||||
BRANCH=""
|
||||
REV="$TAG"
|
||||
|
@@ -1,6 +1,6 @@
|
||||
OpenTTD's known bugs
|
||||
Last updated: 2011-01-21
|
||||
Release version: 1.1.0-beta4
|
||||
Last updated: 2011-11-20
|
||||
Release version: 1.1.4-RC1
|
||||
------------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -39,8 +39,12 @@ officially supporting Mac OS X again. For now it remains unsupported and
|
||||
we only apply bug fixes provided by the community but we are unable to fix
|
||||
these bugs ourselves.
|
||||
|
||||
- 3447 [OSX] SDL port is unuseable
|
||||
- 2484 [OSX] Cannot enter CJK characters
|
||||
- 4744 [OSX] Crash when switching to full screen with OS X Lion
|
||||
- 4689 [OSX] Crash when hiding window after coming from full screen
|
||||
- 4594 [Windows] Minimizing the windows when a modal error message is
|
||||
shown makes it difficult to exit the game
|
||||
- 4420 [OSX] OS' mouse pointer still shows
|
||||
- 2484 [OSX] Cannot enter CJK characters
|
||||
|
||||
2.1) Known bugs that will not be solved
|
||||
---- ----------------------------------
|
||||
@@ -212,6 +216,15 @@ OpenTTD not properly resizing with SDL on X [FS#3305]
|
||||
and GNOME's. With the XFCE's and LXDE's window managers the resize
|
||||
event is sent when the user releases the mouse.
|
||||
|
||||
Incorrect colours, crashes upon exit, debug warnings and smears upon
|
||||
window resizing with SDL on Mac OS X [FS#3447]
|
||||
Video handling with (lib)SDL under Mac OS X is known to fail on some
|
||||
versions of Mac OS X with some hardware configurations. Some of the
|
||||
problems happen only under some circumstances whereas others are
|
||||
always present.
|
||||
We suggest that the SDL video/sound backend is not used for OpenTTD
|
||||
in combinations with Mac OS X.
|
||||
|
||||
Train crashes entering same junction from block and path signals [FS#3928]
|
||||
When a train has reserved a path from a path signal to a two way
|
||||
block signal and the reservation passes a path signal through the
|
||||
@@ -254,7 +267,7 @@ OpenTTD hangs when started on 32 bits Windows [FS#4083]
|
||||
default we are not able to detect this failure, except when Windows'
|
||||
music initialisation function returns after several hours and then
|
||||
there is no point in switching the music driver anymore.
|
||||
The reason we do not use the "win32" music driver as default are
|
||||
The reason we still use the "win32" music driver as default are
|
||||
described in the "Long delay between switching music/song" section
|
||||
of this document.
|
||||
|
||||
@@ -284,3 +297,44 @@ Can't change volume inside OpenTTD [FS#4416]
|
||||
in OpenTTD. As a result you can't change the volume inside OpenTTD
|
||||
for backends such as SDL; just use the volume control provided by
|
||||
your operating system.
|
||||
|
||||
Can't run OpenTTD with the -d option from a MSYS console [FS#4587]
|
||||
The MSYS console does not allow OpenTTD to open an extra console for
|
||||
debugging output. Compiling OpenTTD with the --enable-console
|
||||
configure option prevents this issue and allows the -d option to use
|
||||
the MSYS console for its output.
|
||||
|
||||
Unreadable characters for non-latin locales [FS#4607]
|
||||
OpenTTD does not ship a non-latin font in its graphics files. As a
|
||||
result OpenTTD needs to acquire the font from somewhere else. What
|
||||
OpenTTD does is ask the operating system, or a system library, for
|
||||
the best font for a given language if the currently loaded font
|
||||
does not provide all characters of the chosen translation. This
|
||||
means that OpenTTD has no influence over the quality of the chosen
|
||||
font; it just does the best it can do.
|
||||
|
||||
If the text is unreadable there are several steps that you can take
|
||||
to improve this. The first step is finding a good font and configure
|
||||
this in the configuration file. See section 9.0 of readme.txt for
|
||||
more information. You can also increase the font size to make the
|
||||
characters bigger and possible better readable.
|
||||
|
||||
If the problem is with the clarity of the font you might want to
|
||||
enable anti-aliasing by setting the small_aa/medium_aa/large_aa
|
||||
settings to "true". However, anti-aliasing only works when a 32 bits
|
||||
blitter has been selected, e.g. blitter = "32bpp-anim", as with the
|
||||
8 bits blitter there are not enough colours to properly perform the
|
||||
anti-aliasing.
|
||||
|
||||
Train does not crash with itself [FS#4635]:
|
||||
When a train drives in a circle the front engine passes through
|
||||
wagons of the same train without crashing. This is intentional.
|
||||
Signals are only aware of tracks, they do not consider the train
|
||||
length and whether there would be enough room for a train in some
|
||||
circle it might drive on. Also the path a train might take is not
|
||||
necessarily known when passing a signal.
|
||||
Checking all circumstances would take a lot of additional computational
|
||||
power for signals, which is not considered worth the effort, as
|
||||
it does not add anything to gameplay.
|
||||
Nevertheless trains shall not crash in normal operation, so making
|
||||
a train not crash with itself is the best solution for everyone.
|
||||
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 29 KiB |
@@ -6,13 +6,26 @@
|
||||
// OpenTTD 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. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
-1 * 0 0C "Aqueduct graphics by Jonathan G. Rennison"
|
||||
-1 * 0 0C "Aqueduct graphics by Jonathan G. Rennison / PaulC"
|
||||
// temperate aqueduct
|
||||
-1 * 6 07 83 01 \7! 00 09
|
||||
-1 * 3 05 12 08
|
||||
-1 sprites/aqueduct.png 34 8 09 33 64 -34 -10
|
||||
-1 sprites/aqueduct.png 114 8 09 33 66 -37 -9
|
||||
-1 sprites/aqueduct.png 194 8 09 33 64 -34 -10
|
||||
-1 sprites/aqueduct.png 274 8 09 33 66 -37 -9
|
||||
-1 sprites/aqueduct.png 354 8 09 33 64 -34 -5
|
||||
-1 sprites/aqueduct.png 434 8 09 33 66 -37 -4
|
||||
-1 sprites/aqueduct.png 514 8 09 23 33 -31 0
|
||||
-1 sprites/aqueduct.png 562 8 09 23 33 0 1
|
||||
-1 sprites/aqueduct.png 34 8 09 32 61 -30 -9
|
||||
-1 sprites/aqueduct.png 114 8 09 31 62 -29 -9
|
||||
-1 sprites/aqueduct.png 194 8 09 32 61 -30 -9
|
||||
-1 sprites/aqueduct.png 274 8 09 31 62 -29 -9
|
||||
-1 sprites/aqueduct.png 354 8 09 32 61 -30 -4
|
||||
-1 sprites/aqueduct.png 434 8 09 31 62 -29 -4
|
||||
-1 sprites/aqueduct.png 514 8 09 23 33 -31 0
|
||||
-1 sprites/aqueduct.png 562 8 09 23 33 0 1
|
||||
// non-temperate aqueduct
|
||||
-1 * 6 07 83 01 \7= 00 09
|
||||
-1 * 3 05 12 08
|
||||
-1 sprites/aqueduct.png 34 48 09 32 61 -30 -9
|
||||
-1 sprites/aqueduct.png 114 48 09 31 62 -29 -9
|
||||
-1 sprites/aqueduct.png 194 48 09 32 61 -30 -9
|
||||
-1 sprites/aqueduct.png 274 48 09 31 62 -29 -9
|
||||
-1 sprites/aqueduct.png 354 48 09 32 61 -30 -4
|
||||
-1 sprites/aqueduct.png 434 48 09 31 62 -29 -4
|
||||
-1 sprites/aqueduct.png 514 48 09 23 33 -31 0
|
||||
-1 sprites/aqueduct.png 562 48 09 23 33 0 1
|
||||
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 3.5 KiB |
BIN
media/extra_grf/canal_locks.png
Normal file
After Width: | Height: | Size: 20 KiB |
@@ -6,70 +6,166 @@
|
||||
// OpenTTD 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. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
-1 * 0 0C "Canal graphics by George"
|
||||
-1 * 0 0C "Canal graphics by George / PaulC"
|
||||
-1 * 3 05 08 41
|
||||
-1 sprites/canals.png 66 8 09 23 64 -31 0
|
||||
-1 sprites/canals.png 146 8 09 39 64 -31 -8
|
||||
-1 sprites/canals.png 226 8 09 23 64 -31 0
|
||||
-1 sprites/canals.png 306 8 09 39 64 -31 -8
|
||||
-1 sprites/canals.png 386 8 09 59 64 -31 -36
|
||||
-1 sprites/canals.png 466 8 09 65 64 -31 -34
|
||||
-1 sprites/canals.png 546 8 09 59 64 -31 -36
|
||||
-1 sprites/canals.png 626 8 09 59 64 -31 -28
|
||||
-1 sprites/canals.png 706 8 09 62 64 -1 -51
|
||||
-1 sprites/canals.png 2 88 09 62 64 -61 -43
|
||||
-1 sprites/canals.png 82 88 09 62 64 -61 -51
|
||||
-1 sprites/canals.png 162 88 09 62 64 -1 -43
|
||||
-1 sprites/canals.png 242 88 09 59 64 -31 -28
|
||||
-1 sprites/canals.png 322 88 09 65 66 -33 -34
|
||||
-1 sprites/canals.png 402 88 09 59 64 -31 -28
|
||||
-1 sprites/canals.png 482 88 09 59 64 -31 -28
|
||||
-1 sprites/canals.png 562 88 09 62 64 -1 -43
|
||||
-1 sprites/canals.png 642 88 09 60 64 -61 -43
|
||||
-1 sprites/canals.png 722 88 09 62 66 -61 -43
|
||||
-1 sprites/canals.png 2 168 09 60 64 -1 -43
|
||||
-1 sprites/canals.png 82 168 09 59 64 -31 -28
|
||||
-1 sprites/canals.png 162 168 09 59 64 -31 -28
|
||||
-1 sprites/canals.png 242 168 09 59 64 -31 -28
|
||||
-1 sprites/canals.png 322 168 09 59 64 -31 -28
|
||||
-1 sprites/canals.png 402 168 09 60 64 -1 -43
|
||||
-1 sprites/canals.png 482 168 09 62 68 -61 -43
|
||||
-1 sprites/canals.png 562 168 09 60 64 -61 -43
|
||||
-1 sprites/canals.png 642 168 09 62 64 -1 -43
|
||||
-1 sprites/canals.png 722 168 09 59 64 -31 -36
|
||||
-1 sprites/canals.png 2 248 09 65 64 -31 -34
|
||||
-1 sprites/canals.png 82 248 09 59 64 -31 -36
|
||||
-1 sprites/canals.png 162 248 09 59 64 -31 -28
|
||||
-1 sprites/canals.png 242 248 09 62 64 -1 -51
|
||||
-1 sprites/canals.png 322 248 09 62 64 -61 -43
|
||||
-1 sprites/canals.png 402 248 09 62 64 -61 -51
|
||||
-1 sprites/canals.png 482 248 09 62 64 -1 -43
|
||||
-1 sprites/canals.png 562 248 09 59 64 -31 -28
|
||||
-1 sprites/canals.png 642 248 09 65 66 -33 -34
|
||||
-1 sprites/canals.png 722 248 09 59 64 -31 -28
|
||||
-1 sprites/canals.png 2 328 09 59 64 -31 -28
|
||||
-1 sprites/canals.png 82 328 09 62 64 -1 -43
|
||||
-1 sprites/canals.png 162 328 09 60 64 -61 -43
|
||||
-1 sprites/canals.png 242 328 09 62 66 -61 -43
|
||||
-1 sprites/canals.png 322 328 09 60 64 -1 -43
|
||||
-1 sprites/canals.png 402 328 09 59 64 -31 -28
|
||||
-1 sprites/canals.png 482 328 09 59 64 -31 -28
|
||||
-1 sprites/canals.png 562 328 09 59 64 -31 -28
|
||||
-1 sprites/canals.png 642 328 09 59 64 -31 -28
|
||||
-1 sprites/canals.png 722 328 09 60 64 -1 -43
|
||||
-1 sprites/canals.png 2 408 09 62 68 -61 -43
|
||||
-1 sprites/canals.png 82 408 09 60 64 -61 -43
|
||||
-1 sprites/canals.png 162 408 09 62 64 -1 -43
|
||||
-1 sprites/canals.png 242 408 09 37 70 -31 -6
|
||||
-1 sprites/canals.png 322 408 09 37 70 -31 0
|
||||
-1 sprites/canals.png 402 408 09 37 70 -37 0
|
||||
-1 sprites/canals.png 482 408 09 37 70 -37 -6
|
||||
-1 sprites/canals.png 562 408 09 31 64 -31 0
|
||||
-1 sprites/canals.png 642 408 09 31 64 -31 0
|
||||
-1 sprites/canals.png 722 408 09 31 64 -31 0
|
||||
-1 sprites/canals.png 2 488 09 37 64 -31 -6
|
||||
-1 sprites/canals.png 82 488 09 31 64 -31 0
|
||||
-1 sprites/canals.png 162 488 09 31 64 -31 0
|
||||
-1 sprites/canals.png 242 488 09 31 64 -31 0
|
||||
-1 sprites/canals.png 322 488 09 37 64 -31 -6
|
||||
-1 sprites/canals.png 402 488 09 20 20 0 0
|
||||
// Canal slopes
|
||||
-1 sprites/canal_locks.png 66 8 09 23 64 -31 0
|
||||
-1 sprites/canal_locks.png 146 8 09 39 64 -31 -8
|
||||
-1 sprites/canal_locks.png 226 8 09 23 64 -31 0
|
||||
-1 sprites/canal_locks.png 306 8 09 39 64 -31 -8
|
||||
// Lock sides
|
||||
-1 sprites/canal_locks.png 386 8 09 59 64 -31 -36
|
||||
-1 sprites/canal_locks.png 466 8 09 65 64 -31 -34
|
||||
-1 sprites/canal_locks.png 546 8 09 59 64 -31 -36
|
||||
-1 sprites/canal_locks.png 626 8 09 59 64 -31 -28
|
||||
-1 sprites/canal_locks.png 706 8 09 62 64 -1 -51
|
||||
-1 sprites/canal_locks.png 2 88 09 62 64 -61 -43
|
||||
-1 sprites/canal_locks.png 82 88 09 62 64 -61 -51
|
||||
-1 sprites/canal_locks.png 162 88 09 62 64 -1 -43
|
||||
-1 sprites/canal_locks.png 242 88 09 59 64 -31 -28
|
||||
-1 sprites/canal_locks.png 322 88 09 65 66 -33 -34
|
||||
-1 sprites/canal_locks.png 402 88 09 59 64 -31 -28
|
||||
-1 sprites/canal_locks.png 482 88 09 59 64 -31 -28
|
||||
-1 sprites/canal_locks.png 562 88 09 62 64 -1 -43
|
||||
-1 sprites/canal_locks.png 642 88 09 60 64 -61 -43
|
||||
-1 sprites/canal_locks.png 722 88 09 62 66 -61 -43
|
||||
-1 sprites/canal_locks.png 2 168 09 60 64 -1 -43
|
||||
-1 sprites/canal_locks.png 82 168 09 59 64 -31 -28
|
||||
-1 sprites/canal_locks.png 162 168 09 59 64 -31 -28
|
||||
-1 sprites/canal_locks.png 242 168 09 59 64 -31 -28
|
||||
-1 sprites/canal_locks.png 322 168 09 59 64 -31 -28
|
||||
-1 sprites/canal_locks.png 402 168 09 60 64 -1 -43
|
||||
-1 sprites/canal_locks.png 482 168 09 62 68 -61 -43
|
||||
-1 sprites/canal_locks.png 562 168 09 60 64 -61 -43
|
||||
-1 sprites/canal_locks.png 642 168 09 62 64 -1 -43
|
||||
-1 sprites/canal_locks.png 722 168 09 59 64 -31 -36
|
||||
-1 sprites/canal_locks.png 2 248 09 65 64 -31 -34
|
||||
-1 sprites/canal_locks.png 82 248 09 59 64 -31 -36
|
||||
-1 sprites/canal_locks.png 162 248 09 59 64 -31 -28
|
||||
-1 sprites/canal_locks.png 242 248 09 62 64 -1 -51
|
||||
-1 sprites/canal_locks.png 322 248 09 62 64 -61 -43
|
||||
-1 sprites/canal_locks.png 402 248 09 62 64 -61 -51
|
||||
-1 sprites/canal_locks.png 482 248 09 62 64 -1 -43
|
||||
-1 sprites/canal_locks.png 562 248 09 59 64 -31 -28
|
||||
-1 sprites/canal_locks.png 642 248 09 65 66 -33 -34
|
||||
-1 sprites/canal_locks.png 722 248 09 59 64 -31 -28
|
||||
-1 sprites/canal_locks.png 2 328 09 59 64 -31 -28
|
||||
-1 sprites/canal_locks.png 82 328 09 62 64 -1 -43
|
||||
-1 sprites/canal_locks.png 162 328 09 60 64 -61 -43
|
||||
-1 sprites/canal_locks.png 242 328 09 62 66 -61 -43
|
||||
-1 sprites/canal_locks.png 322 328 09 60 64 -1 -43
|
||||
-1 sprites/canal_locks.png 402 328 09 59 64 -31 -28
|
||||
-1 sprites/canal_locks.png 482 328 09 59 64 -31 -28
|
||||
-1 sprites/canal_locks.png 562 328 09 59 64 -31 -28
|
||||
-1 sprites/canal_locks.png 642 328 09 59 64 -31 -28
|
||||
-1 sprites/canal_locks.png 722 328 09 60 64 -1 -43
|
||||
-1 sprites/canal_locks.png 2 408 09 62 68 -61 -43
|
||||
-1 sprites/canal_locks.png 82 408 09 60 64 -61 -43
|
||||
-1 sprites/canal_locks.png 162 408 09 62 64 -1 -43
|
||||
// Canal edges (temperate)
|
||||
-1 sprites/canals.png 30 10 09 22 45 -11 -1
|
||||
-1 sprites/canals.png 94 10 09 21 41 -8 10
|
||||
-1 sprites/canals.png 142 10 09 21 42 -31 10
|
||||
-1 sprites/canals.png 190 10 09 22 43 -31 -1
|
||||
-1 sprites/canals.png 238 10 09 22 22 11 4
|
||||
-1 sprites/canals.png 270 10 09 16 24 -11 15
|
||||
-1 sprites/canals.png 302 10 09 23 23 -31 4
|
||||
-1 sprites/canals.png 334 10 09 18 24 -11 -1
|
||||
-1 sprites/canals.png 366 10 09 11 12 21 10
|
||||
-1 sprites/canals.png 398 10 09 10 19 -8 21
|
||||
-1 sprites/canals.png 430 10 09 10 11 -31 10
|
||||
-1 sprites/canals.png 446 10 09 16 24 -11 -6
|
||||
// Canal icon
|
||||
-1 sprites/canal_locks.png 242 408 09 20 20 0 0
|
||||
|
||||
// Differentiation for the climates starts here
|
||||
|
||||
// Canal edges (arctic snowy)
|
||||
-1 * 4 01 05 01 \b12
|
||||
-1 sprites/canals.png 30 40 09 22 45 -11 -1
|
||||
-1 sprites/canals.png 94 40 09 21 41 -8 10
|
||||
-1 sprites/canals.png 142 40 09 21 42 -31 10
|
||||
-1 sprites/canals.png 190 40 09 22 43 -31 -1
|
||||
-1 sprites/canals.png 238 40 09 22 22 11 4
|
||||
-1 sprites/canals.png 270 40 09 16 24 -11 15
|
||||
-1 sprites/canals.png 302 40 09 23 23 -31 4
|
||||
-1 sprites/canals.png 334 40 09 18 24 -11 -1
|
||||
-1 sprites/canals.png 366 40 09 11 12 21 10
|
||||
-1 sprites/canals.png 398 40 09 10 19 -8 21
|
||||
-1 sprites/canals.png 430 40 09 10 11 -31 10
|
||||
-1 sprites/canals.png 446 40 09 16 24 -11 -6
|
||||
-1 * 7 02 05 10 01 00 00 00
|
||||
|
||||
// Canal edges (arctic normal)
|
||||
-1 * 4 01 05 01 \b12
|
||||
-1 sprites/canals.png 30 70 09 22 45 -11 -1
|
||||
-1 sprites/canals.png 94 70 09 21 41 -8 10
|
||||
-1 sprites/canals.png 142 70 09 21 42 -31 10
|
||||
-1 sprites/canals.png 190 70 09 22 43 -31 -1
|
||||
-1 sprites/canals.png 238 70 09 22 22 11 4
|
||||
-1 sprites/canals.png 270 70 09 16 24 -11 15
|
||||
-1 sprites/canals.png 302 70 09 23 23 -31 4
|
||||
-1 sprites/canals.png 334 70 09 18 24 -11 -1
|
||||
-1 sprites/canals.png 366 70 09 11 12 21 10
|
||||
-1 sprites/canals.png 398 70 09 10 19 -8 21
|
||||
-1 sprites/canals.png 430 70 09 10 11 -31 10
|
||||
-1 sprites/canals.png 446 70 09 16 24 -11 -6
|
||||
-1 * 7 02 05 11 01 00 00 00
|
||||
// Choose the right arctic canal edges
|
||||
-1 * 14 02 05 12 81 81 00 FF 01 10 00 04 04 11 00
|
||||
-1 * 6 07 83 01 \7! 01 01
|
||||
-1 * 7 03 05 01 02 00 12 00
|
||||
|
||||
// Canal edges (tropic desert)
|
||||
-1 * 4 01 05 01 \b12
|
||||
-1 sprites/canals.png 30 100 09 22 45 -11 -1
|
||||
-1 sprites/canals.png 94 100 09 21 41 -8 10
|
||||
-1 sprites/canals.png 142 100 09 21 42 -31 10
|
||||
-1 sprites/canals.png 190 100 09 22 43 -31 -1
|
||||
-1 sprites/canals.png 238 100 09 22 22 11 4
|
||||
-1 sprites/canals.png 270 100 09 16 24 -11 15
|
||||
-1 sprites/canals.png 302 100 09 23 23 -31 4
|
||||
-1 sprites/canals.png 334 100 09 18 24 -11 -1
|
||||
-1 sprites/canals.png 366 100 09 11 12 21 10
|
||||
-1 sprites/canals.png 398 100 09 10 19 -8 21
|
||||
-1 sprites/canals.png 430 100 09 10 11 -31 10
|
||||
-1 sprites/canals.png 446 100 09 16 24 -11 -6
|
||||
-1 * 7 02 05 13 01 00 00 00
|
||||
|
||||
// Canal edges (tropic rainforest)
|
||||
-1 * 4 01 05 01 \b12
|
||||
-1 sprites/canals.png 30 130 09 22 45 -11 -1
|
||||
-1 sprites/canals.png 94 130 09 21 41 -8 10
|
||||
-1 sprites/canals.png 142 130 09 21 42 -31 10
|
||||
-1 sprites/canals.png 190 130 09 22 43 -31 -1
|
||||
-1 sprites/canals.png 238 130 09 22 22 11 4
|
||||
-1 sprites/canals.png 270 130 09 16 24 -11 15
|
||||
-1 sprites/canals.png 302 130 09 23 23 -31 4
|
||||
-1 sprites/canals.png 334 130 09 18 24 -11 -1
|
||||
-1 sprites/canals.png 366 130 09 11 12 21 10
|
||||
-1 sprites/canals.png 398 130 09 10 19 -8 21
|
||||
-1 sprites/canals.png 430 130 09 10 11 -31 10
|
||||
-1 sprites/canals.png 446 130 09 16 24 -11 -6
|
||||
-1 * 7 02 05 14 01 00 00 00
|
||||
// Choose the right tropic canal edges
|
||||
-1 * 14 02 05 15 81 81 00 FF 01 13 00 01 01 14 00
|
||||
-1 * 6 07 83 01 \7! 02 01
|
||||
-1 * 7 03 05 01 02 00 15 00
|
||||
|
||||
// Canal edges (toyland)
|
||||
-1 * 4 01 05 01 \b12
|
||||
-1 sprites/canals.png 30 160 09 22 45 -11 -1
|
||||
-1 sprites/canals.png 94 160 09 21 41 -8 10
|
||||
-1 sprites/canals.png 142 160 09 21 42 -31 10
|
||||
-1 sprites/canals.png 190 160 09 22 43 -31 -1
|
||||
-1 sprites/canals.png 238 160 09 22 22 11 4
|
||||
-1 sprites/canals.png 270 160 09 16 24 -11 15
|
||||
-1 sprites/canals.png 302 160 09 23 23 -31 4
|
||||
-1 sprites/canals.png 334 160 09 18 24 -11 -1
|
||||
-1 sprites/canals.png 366 160 09 11 12 21 10
|
||||
-1 sprites/canals.png 398 160 09 10 19 -8 21
|
||||
-1 sprites/canals.png 430 160 09 10 11 -31 10
|
||||
-1 sprites/canals.png 446 160 09 16 24 -11 -6
|
||||
-1 * 7 02 05 16 01 00 00 00
|
||||
-1 * 6 07 83 01 \7! 03 01
|
||||
-1 * 7 03 05 01 02 00 16 00
|
||||
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 6.1 KiB |
@@ -6,15 +6,15 @@
|
||||
// OpenTTD 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. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
-1 * 0 0C "Fixing (alignment) bugs in the orignal graphics. By Addi."
|
||||
-1 * 6 07 83 01 \7= 03 69
|
||||
// Different grahpics for same wood truck
|
||||
-1 * 0 0C "Fixing (alignment) bugs in the original graphics. By Addi and PaulC."
|
||||
-1 * 6 07 83 01 \7= 03 7D
|
||||
// Different graphics for same wood truck
|
||||
-1 * 14 0A 04 01 87 0C 01 89 0C 01 07 0E 01 09 0E
|
||||
-1 sprites/fix_graphics.png 82 8 09 16 22 -6 -7
|
||||
-1 sprites/fix_graphics.png 114 8 09 16 22 -14 -7
|
||||
-1 sprites/fix_graphics.png 146 8 09 16 22 -6 -7
|
||||
-1 sprites/fix_graphics.png 178 8 09 16 22 -14 -7
|
||||
// Different grahpics for lots of trucks
|
||||
// Different graphics for lots of trucks
|
||||
-1 * 5 0A 01 28 C4 0D
|
||||
-1 sprites/fix_graphics.png 226 8 01 18 8 -3 -10
|
||||
-1 sprites/fix_graphics.png 242 8 09 16 20 -14 -7
|
||||
@@ -56,19 +56,19 @@
|
||||
-1 sprites/fix_graphics.png 610 40 09 16 20 -14 -7
|
||||
-1 sprites/fix_graphics.png 642 40 01 12 28 -14 -6
|
||||
-1 sprites/fix_graphics.png 690 40 09 16 20 -6 -7
|
||||
// Different grahpics for same truck
|
||||
// Different graphics for same truck
|
||||
-1 * 14 0A 04 01 9D 0C 01 9F 0C 01 A1 0C 01 A3 0C
|
||||
-1 sprites/fix_graphics.png 738 40 09 16 22 -14 -7
|
||||
-1 sprites/fix_graphics.png 770 40 09 16 22 -6 -7
|
||||
-1 sprites/fix_graphics.png 2 72 09 16 22 -14 -7
|
||||
-1 sprites/fix_graphics.png 34 72 09 16 22 -6 -7
|
||||
// Different grahpics for same paper truck
|
||||
// Different graphics for same paper truck
|
||||
-1 * 14 0A 04 01 5D 0D 01 5F 0D 01 61 0D 01 63 0D
|
||||
-1 sprites/fix_graphics.png 82 72 09 16 22 -14 -7
|
||||
-1 sprites/fix_graphics.png 114 72 09 17 22 -5 -7
|
||||
-1 sprites/fix_graphics.png 146 72 09 17 22 -14 -8
|
||||
-1 sprites/fix_graphics.png 178 72 09 16 22 -6 -7
|
||||
// Different grahpics for same paper truck (truck #2)
|
||||
// Different graphics for same paper truck (truck #2)
|
||||
-1 * 14 0A 04 01 1D 0E 01 1F 0E 01 21 0E 01 23 0E
|
||||
-1 sprites/fix_graphics.png 226 72 09 16 22 -14 -7
|
||||
-1 sprites/fix_graphics.png 258 72 09 16 22 -6 -7
|
||||
@@ -79,6 +79,11 @@
|
||||
-1 sprites/fix_graphics.png 370 72 09 35 48 -23 -7
|
||||
-1 sprites/fix_graphics.png 434 72 09 35 48 -23 -7
|
||||
-1 sprites/fix_graphics.png 498 72 09 21 49 -24 3
|
||||
// Misaligned maglev bridge heads
|
||||
-1 * 8 0A 02 01 12 11 02 14 11
|
||||
-1 sprites/fix_graphics.png 322 486 09 35 48 -23 -7
|
||||
-1 sprites/fix_graphics.png 386 486 09 35 48 -23 -7
|
||||
-1 sprites/fix_graphics.png 450 486 09 21 49 -24 3
|
||||
// Improperly cut cinema
|
||||
-1 * 5 0A 01 02 34 11
|
||||
-1 sprites/fix_graphics.png 578 72 09 31 64 -31 0
|
||||
@@ -135,13 +140,13 @@
|
||||
|
||||
// Non-toyland specific
|
||||
-1 * 6 07 83 01 \7= 03 0A
|
||||
// Grahpics for the tubular bridge pillars had incorrect offsets
|
||||
// graphics for the tubular bridge pillars had incorrect offsets
|
||||
-1 * 5 0A 01 04 05 0A
|
||||
-1 sprites/fix_graphics.png 98 296 09 9 4 2 -1
|
||||
-1 sprites/fix_graphics.png 114 296 09 9 4 2 -1
|
||||
-1 sprites/fix_graphics.png 130 296 09 9 4 -4 0
|
||||
-1 sprites/fix_graphics.png 146 296 09 9 4 -4 0
|
||||
// Grahpics for the cantilever bridge pillars had incorrect offsets
|
||||
// graphics for the cantilever bridge pillars had incorrect offsets
|
||||
-1 * 5 0A 01 04 DD 09
|
||||
-1 sprites/fix_graphics.png 178 296 09 11 10 2 -3
|
||||
-1 sprites/fix_graphics.png 194 296 09 12 10 2 -2
|
||||
@@ -150,15 +155,180 @@
|
||||
|
||||
// Toyland specific
|
||||
-1 * 6 07 83 01 \7! 03 0A
|
||||
// Grahpics for the toyland tubular bridge pillars had incorrect offsets
|
||||
// Graphics for the toyland tubular bridge pillars had incorrect offsets
|
||||
-1 * 5 0A 01 04 05 0A
|
||||
-1 sprites/fix_graphics.png 248 296 09 9 4 2 -1
|
||||
-1 sprites/fix_graphics.png 264 296 09 9 4 2 -1
|
||||
-1 sprites/fix_graphics.png 280 296 09 9 4 -4 0
|
||||
-1 sprites/fix_graphics.png 296 296 09 9 4 -4 0
|
||||
// Grahpics for the toyland cantilever bridge pillars had incorrect offsets
|
||||
// Graphics for the toyland cantilever bridge pillars had incorrect offsets
|
||||
-1 * 5 0A 01 04 DD 09
|
||||
-1 sprites/fix_graphics.png 328 296 09 11 10 2 -3
|
||||
-1 sprites/fix_graphics.png 344 296 09 12 10 2 -2
|
||||
-1 sprites/fix_graphics.png 360 296 09 11 10 -10 -1
|
||||
-1 sprites/fix_graphics.png 376 296 09 11 10 -10 -1
|
||||
|
||||
// Wrong, non-translated colours in tubular bridge in 'normal' climates
|
||||
// Toyland has separate sprites which are not colour translated, thus
|
||||
// this does not apply there;
|
||||
// Pillars are changed for all climates further up
|
||||
-1 * 6 07 83 01 \7= 03 \b22
|
||||
|
||||
// Main tubular bridge sprites
|
||||
-1 * 5 0A 01 \b6 \w2559
|
||||
-1 sprites/fix_graphics.png 2 330 09 40 32 -30 -26
|
||||
-1 sprites/fix_graphics.png 52 330 09 50 44 -42 -26
|
||||
-1 sprites/fix_graphics.png 116 330 09 45 46 -42 -21
|
||||
-1 sprites/fix_graphics.png 180 330 09 45 46 -2 -20
|
||||
-1 sprites/fix_graphics.png 244 330 09 50 44 0 -25
|
||||
-1 sprites/fix_graphics.png 308 330 09 41 32 0 -25
|
||||
// start rail bridge
|
||||
-1 * 5 0A 01 01 \w2569
|
||||
-1 sprites/fix_graphics.png 350 330 09 29 52 -25 -4
|
||||
// start rail + road bridge
|
||||
-1 * 5 0A 01 02 \w2574
|
||||
-1 sprites/fix_graphics.png 420 330 09 29 50 -25 -4
|
||||
-1 sprites/fix_graphics.png 489 330 09 29 52 -25 -4
|
||||
// start road + monorail bridge
|
||||
-1 * 5 0A 01 02 \w2580
|
||||
-1 sprites/fix_graphics.png 559 330 09 29 50 -25 -4
|
||||
-1 sprites/fix_graphics.png 629 330 09 29 52 -25 -4
|
||||
// start monrail + maglev bridge
|
||||
-1 * 5 0A 01 02 \w2586
|
||||
-1 sprites/fix_graphics.png 699 330 09 29 50 -25 -4
|
||||
-1 sprites/fix_graphics.png 489 283 09 29 52 -25 -4
|
||||
// start maglev bridge
|
||||
-1 * 5 0A 01 01 \w2592
|
||||
-1 sprites/fix_graphics.png 559 283 09 29 50 -25 -4
|
||||
// GUI sprite
|
||||
-1 * 5 0A 01 01 \w2600
|
||||
-1 sprites/fix_graphics.png 433 298 09 15 40 0 5
|
||||
// Make level crossings in tropical climate look normal
|
||||
-1 * 6 07 83 01 \7! 02 19
|
||||
-1 * 14 0A 04 04 5A 05 08 62 05 08 6E 05 04 7A 05
|
||||
-1 sprites/fix_graphics.png 2 390 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 82 390 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 162 390 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 242 390 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 322 390 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 402 390 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 482 390 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 562 390 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 642 390 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 722 390 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 2 438 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 82 438 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 162 438 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 242 438 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 322 438 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 402 438 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 482 438 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 562 438 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 642 438 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 722 438 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 2 486 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 82 486 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 162 486 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 242 486 09 31 64 -31 0
|
||||
// Fix transparency of steel mill
|
||||
-1 * 6 07 83 01 \7! 00 0A
|
||||
-1 * 5 0A 01 04 4D 08
|
||||
-1 sprites/fix_graphics.png 610 486 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 690 486 09 61 59 -31 -33
|
||||
-1 sprites/fix_graphics.png 2 566 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 82 566 09 50 51 -25 -21
|
||||
-1 * 5 0A 01 04 58 08
|
||||
-1 sprites/fix_graphics.png 162 566 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 242 566 09 52 59 -31 -24
|
||||
-1 sprites/fix_graphics.png 306 566 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 386 566 09 44 51 -25 -15
|
||||
// Fix transparency of oil well
|
||||
-1 * 6 07 83 01 \7= 03 10
|
||||
-1 * 5 0A 01 06 7E 08
|
||||
-1 sprites/fix_graphics.png 482 566 09 50 31 -11 -28
|
||||
-1 sprites/fix_graphics.png 530 566 09 47 31 -11 -25
|
||||
-1 sprites/fix_graphics.png 578 566 09 47 31 -11 -25
|
||||
-1 sprites/fix_graphics.png 626 566 09 47 31 -11 -25
|
||||
-1 sprites/fix_graphics.png 674 566 09 49 31 -11 -27
|
||||
-1 sprites/fix_graphics.png 722 566 09 52 31 -11 -30
|
||||
-1 * 6 07 83 01 \7! 00 02
|
||||
-1 * 5 0A 01 01 7D 08
|
||||
-1 sprites/fix_graphics.png 2 630 09 31 64 -31 0
|
||||
-1 * 6 07 83 01 \7! 01 02
|
||||
-1 * 5 0A 01 01 7D 08
|
||||
-1 sprites/fix_graphics.png 114 630 09 31 64 -31 0
|
||||
-1 * 6 07 83 01 \7! 02 02
|
||||
-1 * 5 0A 01 01 7D 08
|
||||
-1 sprites/fix_graphics.png 226 630 09 31 64 -31 0
|
||||
-1 * 6 07 83 01 \7! 03 0F
|
||||
-1 * 5 0A 01 06 91 04
|
||||
// Fix toyland overlay for PBS on maglev
|
||||
-1 sprites/fix_graphics.png 338 630 09 16 30 -14 8
|
||||
-1 sprites/fix_graphics.png 386 630 09 16 30 -14 8
|
||||
-1 sprites/fix_graphics.png 434 630 01 7 40 -19 4
|
||||
-1 sprites/fix_graphics.png 482 630 01 7 40 -19 20
|
||||
-1 sprites/fix_graphics.png 530 630 01 19 12 11 6
|
||||
-1 sprites/fix_graphics.png 562 630 01 19 12 -21 6
|
||||
// Fix toyland monorail bridge alignment
|
||||
-1 * 8 0A 02 01 EA 10 02 EC 10
|
||||
-1 sprites/fix_graphics.png 610 630 09 35 48 -23 -7
|
||||
-1 sprites/fix_graphics.png 674 630 09 35 48 -23 -7
|
||||
-1 sprites/fix_graphics.png 738 630 09 21 49 -24 3
|
||||
// Fix toyland maglev bridge alignment
|
||||
-1 * 8 0A 02 01 12 11 02 14 11
|
||||
-1 sprites/fix_graphics.png 18 678 09 35 48 -23 -7
|
||||
-1 sprites/fix_graphics.png 82 678 09 35 48 -23 -7
|
||||
-1 sprites/fix_graphics.png 146 678 09 21 49 -24 3
|
||||
// Fix city airport's grass for temperate
|
||||
-1 * 6 07 83 01 \7! 00 0A
|
||||
-1 * 5 0A 01 09 4C 0A
|
||||
-1 sprites/fix_graphics.png 242 678 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 322 678 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 402 678 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 482 678 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 562 678 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 642 678 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 722 678 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 2 726 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 82 726 09 31 64 -31 0
|
||||
// Fix city airport's grass for arctic
|
||||
-1 * 6 07 83 01 \7! 01 0A
|
||||
-1 * 5 0A 01 09 4C 0A
|
||||
-1 sprites/fix_graphics.png 194 726 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 274 726 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 354 726 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 434 726 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 514 726 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 594 726 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 674 726 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 2 774 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 82 774 09 31 64 -31 0
|
||||
// Fix city airport's grass for tropical
|
||||
-1 * 6 07 83 01 \7! 02 0A
|
||||
-1 * 5 0A 01 09 4C 0A
|
||||
-1 sprites/fix_graphics.png 194 774 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 274 774 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 354 774 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 434 774 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 514 774 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 594 774 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 674 774 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 2 822 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 82 822 09 31 64 -31 0
|
||||
// Fix city airport's grass for toyland
|
||||
-1 * 6 07 83 01 \7! 03 0A
|
||||
-1 * 5 0A 01 09 4C 0A
|
||||
-1 sprites/fix_graphics.png 194 822 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 274 822 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 354 822 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 434 822 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 514 822 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 594 822 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 674 822 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 2 870 09 31 64 -31 0
|
||||
-1 sprites/fix_graphics.png 82 870 09 31 64 -31 0
|
||||
// Fix buoy in-game; don't show black outline
|
||||
-1 * 4 01 05 01 \b1
|
||||
-1 sprites/fix_graphics.png 575 490 09 11 7 7 4
|
||||
-1 * 7 02 05 17 01 00 00 00
|
||||
-1 * 7 03 05 01 08 00 17 00
|
||||
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 63 KiB |
@@ -80,6 +80,7 @@
|
||||
"David Dallaston: tram tracks" 0D
|
||||
"Jonathan G. Rennison: aqueducts" 0D
|
||||
"Bilbo, Jasper Vries: font" 0D
|
||||
"Andrew Parkhouse: rivers" 0D
|
||||
"OpenTTD developers: other graphics" 00
|
||||
|
||||
//
|
||||
@@ -104,3 +105,8 @@
|
||||
#include "chars.nfo"
|
||||
#include "overrides.nfo"
|
||||
#include "fix_graphics.nfo"
|
||||
#include "rivers/rapids.nfo"
|
||||
#include "rivers/temperate.nfo"
|
||||
#include "rivers/arctic.nfo"
|
||||
#include "rivers/tropic.nfo"
|
||||
#include "rivers/toyland.nfo"
|
||||
|
282
media/extra_grf/rivers/arctic.nfo
Normal file
@@ -0,0 +1,282 @@
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
// This file is part of OpenTTD.
|
||||
// OpenTTD 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, version 2.
|
||||
// OpenTTD 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. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
-1 * 0 0C "Arctic river graphics by andythenorth (Andrew Parkhouse)"
|
||||
-1 * 4 01 05 01 3C
|
||||
-1 sprites/arctic_snowy.png 10 10 09 19 38 -5 0
|
||||
-1 sprites/arctic_snowy.png 58 10 09 18 38 -5 13
|
||||
-1 sprites/arctic_snowy.png 106 10 09 18 38 -31 13
|
||||
-1 sprites/arctic_snowy.png 154 10 09 19 38 -31 0
|
||||
-1 sprites/arctic_snowy.png 202 10 09 9 19 14 11
|
||||
-1 sprites/arctic_snowy.png 234 10 09 9 16 -7 22
|
||||
-1 sprites/arctic_snowy.png 266 10 09 9 19 -31 11
|
||||
-1 sprites/arctic_snowy.png 298 10 09 9 16 -7 0
|
||||
-1 sprites/arctic_snowy.png 330 10 09 6 8 25 13
|
||||
-1 sprites/arctic_snowy.png 346 10 09 4 12 -5 27
|
||||
-1 sprites/arctic_snowy.png 364 10 09 6 8 -31 13
|
||||
-1 sprites/arctic_snowy.png 380 10 09 5 12 -5 0
|
||||
|
||||
-1 sprites/arctic_snowy.png 10 40 09 11 40 -7 0
|
||||
-1 sprites/arctic_snowy.png 58 40 09 18 39 -6 5
|
||||
-1 sprites/arctic_snowy.png 106 40 09 11 38 -31 12
|
||||
-1 sprites/arctic_snowy.png 154 40 09 18 39 -31 0
|
||||
-1 sprites/arctic_snowy.png 202 40 09 6 20 13 5
|
||||
-1 sprites/arctic_snowy.png 234 40 09 7 13 -6 16
|
||||
-1 sprites/arctic_snowy.png 266 40 09 6 20 -31 12
|
||||
-1 sprites/arctic_snowy.png 298 40 09 7 13 -5 0
|
||||
-1 sprites/arctic_snowy.png 330 40 09 5 8 25 6
|
||||
-1 sprites/arctic_snowy.png 346 40 09 3 12 -5 20
|
||||
-1 sprites/arctic_snowy.png 364 40 09 4 8 -31 13
|
||||
-1 sprites/arctic_snowy.png 380 40 09 4 15 -7 0
|
||||
|
||||
-1 sprites/arctic_snowy.png 10 70 09 20 38 -5 -8
|
||||
-1 sprites/arctic_snowy.png 58 70 09 26 38 -5 5
|
||||
-1 sprites/arctic_snowy.png 106 70 09 20 37 -31 11
|
||||
-1 sprites/arctic_snowy.png 154 70 09 27 38 -31 -8
|
||||
-1 sprites/arctic_snowy.png 202 70 09 9 16 17 3
|
||||
-1 sprites/arctic_snowy.png 234 70 09 9 15 -7 22
|
||||
-1 sprites/arctic_snowy.png 266 70 09 9 16 -31 11
|
||||
-1 sprites/arctic_snowy.png 298 70 09 9 15 -6 -8
|
||||
-1 sprites/arctic_snowy.png 330 70 09 7 8 25 5
|
||||
-1 sprites/arctic_snowy.png 346 70 09 5 10 -4 27
|
||||
-1 sprites/arctic_snowy.png 364 70 09 7 8 -31 11
|
||||
-1 sprites/arctic_snowy.png 380 70 09 6 12 -5 -8
|
||||
|
||||
-1 sprites/arctic_snowy.png 10 100 09 18 39 -6 0
|
||||
-1 sprites/arctic_snowy.png 58 100 09 11 38 -5 12
|
||||
-1 sprites/arctic_snowy.png 106 100 09 18 39 -31 5
|
||||
-1 sprites/arctic_snowy.png 154 100 09 11 40 -32 0
|
||||
-1 sprites/arctic_snowy.png 202 100 09 6 20 13 12
|
||||
-1 sprites/arctic_snowy.png 234 100 09 7 13 -5 16
|
||||
-1 sprites/arctic_snowy.png 266 100 09 6 20 -31 5
|
||||
-1 sprites/arctic_snowy.png 298 100 09 7 13 -6 0
|
||||
-1 sprites/arctic_snowy.png 330 100 09 4 8 26 13
|
||||
-1 sprites/arctic_snowy.png 346 100 09 3 12 -5 20
|
||||
-1 sprites/arctic_snowy.png 364 100 09 5 8 -31 6
|
||||
-1 sprites/arctic_snowy.png 380 100 09 4 15 -6 0
|
||||
|
||||
-1 sprites/arctic_snowy.png 10 130 09 27 38 -5 -8
|
||||
-1 sprites/arctic_snowy.png 58 130 09 20 37 -4 11
|
||||
-1 sprites/arctic_snowy.png 106 130 09 26 37 -31 5
|
||||
-1 sprites/arctic_snowy.png 154 130 09 20 38 -31 -8
|
||||
-1 sprites/arctic_snowy.png 202 130 09 9 16 17 11
|
||||
-1 sprites/arctic_snowy.png 234 130 09 9 15 -6 22
|
||||
-1 sprites/arctic_snowy.png 266 130 09 9 16 -31 3
|
||||
-1 sprites/arctic_snowy.png 298 130 09 9 15 -7 -8
|
||||
-1 sprites/arctic_snowy.png 330 130 09 7 8 25 11
|
||||
-1 sprites/arctic_snowy.png 346 130 09 5 10 -4 26
|
||||
-1 sprites/arctic_snowy.png 364 130 09 7 8 -31 5
|
||||
-1 sprites/arctic_snowy.png 380 130 09 6 12 -5 -8
|
||||
-1 * 7 02 05 30 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 3C
|
||||
-1 sprites/arctic_brown.png 10 10 09 19 38 -5 0
|
||||
-1 sprites/arctic_brown.png 58 10 09 18 38 -5 13
|
||||
-1 sprites/arctic_brown.png 106 10 09 18 38 -31 13
|
||||
-1 sprites/arctic_brown.png 154 10 09 19 38 -31 0
|
||||
-1 sprites/arctic_brown.png 202 10 09 9 19 14 11
|
||||
-1 sprites/arctic_brown.png 234 10 09 9 16 -7 22
|
||||
-1 sprites/arctic_brown.png 266 10 09 9 19 -31 11
|
||||
-1 sprites/arctic_brown.png 298 10 09 9 16 -7 0
|
||||
-1 sprites/arctic_brown.png 330 10 09 6 8 25 13
|
||||
-1 sprites/arctic_brown.png 346 10 09 4 12 -5 27
|
||||
-1 sprites/arctic_brown.png 364 10 09 6 8 -31 13
|
||||
-1 sprites/arctic_brown.png 380 10 09 5 12 -5 0
|
||||
|
||||
-1 sprites/arctic_brown.png 10 40 09 11 40 -7 0
|
||||
-1 sprites/arctic_brown.png 58 40 09 18 39 -6 5
|
||||
-1 sprites/arctic_brown.png 106 40 09 11 38 -31 12
|
||||
-1 sprites/arctic_brown.png 154 40 09 18 39 -31 0
|
||||
-1 sprites/arctic_brown.png 202 40 09 6 20 13 5
|
||||
-1 sprites/arctic_brown.png 234 40 09 7 13 -6 16
|
||||
-1 sprites/arctic_brown.png 266 40 09 6 20 -31 12
|
||||
-1 sprites/arctic_brown.png 298 40 09 7 13 -5 0
|
||||
-1 sprites/arctic_brown.png 330 40 09 5 8 25 6
|
||||
-1 sprites/arctic_brown.png 346 40 09 3 12 -5 20
|
||||
-1 sprites/arctic_brown.png 364 40 09 4 8 -31 13
|
||||
-1 sprites/arctic_brown.png 380 40 09 4 15 -7 0
|
||||
|
||||
-1 sprites/arctic_brown.png 10 70 09 20 38 -5 -8
|
||||
-1 sprites/arctic_brown.png 58 70 09 26 38 -5 5
|
||||
-1 sprites/arctic_brown.png 106 70 09 20 37 -31 11
|
||||
-1 sprites/arctic_brown.png 154 70 09 27 38 -31 -8
|
||||
-1 sprites/arctic_brown.png 202 70 09 9 16 17 3
|
||||
-1 sprites/arctic_brown.png 234 70 09 9 15 -7 22
|
||||
-1 sprites/arctic_brown.png 266 70 09 9 16 -31 11
|
||||
-1 sprites/arctic_brown.png 298 70 09 9 15 -6 -8
|
||||
-1 sprites/arctic_brown.png 330 70 09 7 8 25 5
|
||||
-1 sprites/arctic_brown.png 346 70 09 5 10 -4 27
|
||||
-1 sprites/arctic_brown.png 364 70 09 7 8 -31 11
|
||||
-1 sprites/arctic_brown.png 380 70 09 6 12 -5 -8
|
||||
|
||||
-1 sprites/arctic_brown.png 10 100 09 18 39 -6 0
|
||||
-1 sprites/arctic_brown.png 58 100 09 11 38 -5 12
|
||||
-1 sprites/arctic_brown.png 106 100 09 18 39 -31 5
|
||||
-1 sprites/arctic_brown.png 154 100 09 11 40 -32 0
|
||||
-1 sprites/arctic_brown.png 202 100 09 6 20 13 12
|
||||
-1 sprites/arctic_brown.png 234 100 09 7 13 -5 16
|
||||
-1 sprites/arctic_brown.png 266 100 09 6 20 -31 5
|
||||
-1 sprites/arctic_brown.png 298 100 09 7 13 -6 0
|
||||
-1 sprites/arctic_brown.png 330 100 09 4 8 26 13
|
||||
-1 sprites/arctic_brown.png 346 100 09 3 12 -5 20
|
||||
-1 sprites/arctic_brown.png 364 100 09 5 8 -31 6
|
||||
-1 sprites/arctic_brown.png 380 100 09 4 15 -6 0
|
||||
|
||||
-1 sprites/arctic_brown.png 10 130 09 27 38 -5 -8
|
||||
-1 sprites/arctic_brown.png 58 130 09 20 37 -4 11
|
||||
-1 sprites/arctic_brown.png 106 130 09 26 37 -31 5
|
||||
-1 sprites/arctic_brown.png 154 130 09 20 38 -31 -8
|
||||
-1 sprites/arctic_brown.png 202 130 09 9 16 17 11
|
||||
-1 sprites/arctic_brown.png 234 130 09 9 15 -6 22
|
||||
-1 sprites/arctic_brown.png 266 130 09 9 16 -31 3
|
||||
-1 sprites/arctic_brown.png 298 130 09 9 15 -7 -8
|
||||
-1 sprites/arctic_brown.png 330 130 09 7 8 25 11
|
||||
-1 sprites/arctic_brown.png 346 130 09 5 10 -4 26
|
||||
-1 sprites/arctic_brown.png 364 130 09 7 8 -31 5
|
||||
-1 sprites/arctic_brown.png 380 130 09 6 12 -5 -8
|
||||
-1 * 7 02 05 31 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 3C
|
||||
-1 sprites/arctic_snowy.png 10 210 09 19 38 -5 0
|
||||
-1 sprites/arctic_snowy.png 58 210 09 18 38 -5 13
|
||||
-1 sprites/arctic_snowy.png 106 210 09 18 38 -31 13
|
||||
-1 sprites/arctic_snowy.png 154 210 09 19 38 -31 0
|
||||
-1 sprites/arctic_snowy.png 202 210 09 9 19 14 11
|
||||
-1 sprites/arctic_snowy.png 234 210 09 9 16 -7 22
|
||||
-1 sprites/arctic_snowy.png 266 210 09 9 19 -31 11
|
||||
-1 sprites/arctic_snowy.png 298 210 09 9 16 -7 0
|
||||
-1 sprites/arctic_snowy.png 330 210 09 6 8 25 13
|
||||
-1 sprites/arctic_snowy.png 346 210 09 4 12 -5 27
|
||||
-1 sprites/arctic_snowy.png 364 210 09 6 8 -31 13
|
||||
-1 sprites/arctic_snowy.png 380 210 09 5 12 -5 0
|
||||
|
||||
-1 sprites/arctic_snowy.png 10 240 09 11 40 -7 0
|
||||
-1 sprites/arctic_snowy.png 58 240 09 18 39 -6 5
|
||||
-1 sprites/arctic_snowy.png 106 240 09 11 38 -31 12
|
||||
-1 sprites/arctic_snowy.png 154 240 09 18 39 -31 0
|
||||
-1 sprites/arctic_snowy.png 202 240 09 6 20 13 5
|
||||
-1 sprites/arctic_snowy.png 234 240 09 7 13 -6 16
|
||||
-1 sprites/arctic_snowy.png 266 240 09 6 20 -31 12
|
||||
-1 sprites/arctic_snowy.png 298 240 09 7 13 -5 0
|
||||
-1 sprites/arctic_snowy.png 330 240 09 5 8 25 6
|
||||
-1 sprites/arctic_snowy.png 346 240 09 3 12 -5 20
|
||||
-1 sprites/arctic_snowy.png 364 240 09 4 8 -31 13
|
||||
-1 sprites/arctic_snowy.png 380 240 09 4 15 -7 0
|
||||
|
||||
-1 sprites/arctic_snowy.png 10 270 09 20 38 -5 -8
|
||||
-1 sprites/arctic_snowy.png 58 270 09 26 38 -5 5
|
||||
-1 sprites/arctic_snowy.png 106 270 09 20 37 -31 11
|
||||
-1 sprites/arctic_snowy.png 154 270 09 27 38 -31 -8
|
||||
-1 sprites/arctic_snowy.png 202 270 09 9 16 17 3
|
||||
-1 sprites/arctic_snowy.png 234 270 09 9 15 -7 22
|
||||
-1 sprites/arctic_snowy.png 266 270 09 9 16 -31 11
|
||||
-1 sprites/arctic_snowy.png 298 270 09 9 15 -6 -8
|
||||
-1 sprites/arctic_snowy.png 330 270 09 7 8 25 5
|
||||
-1 sprites/arctic_snowy.png 346 270 09 5 10 -4 27
|
||||
-1 sprites/arctic_snowy.png 364 270 09 7 8 -31 11
|
||||
-1 sprites/arctic_snowy.png 380 270 09 6 12 -5 -8
|
||||
|
||||
-1 sprites/arctic_snowy.png 10 300 09 18 39 -6 0
|
||||
-1 sprites/arctic_snowy.png 58 300 09 11 38 -5 12
|
||||
-1 sprites/arctic_snowy.png 106 300 09 18 39 -31 5
|
||||
-1 sprites/arctic_snowy.png 154 300 09 11 40 -32 0
|
||||
-1 sprites/arctic_snowy.png 202 300 09 6 20 13 12
|
||||
-1 sprites/arctic_snowy.png 234 300 09 7 13 -5 16
|
||||
-1 sprites/arctic_snowy.png 266 300 09 6 20 -31 5
|
||||
-1 sprites/arctic_snowy.png 298 300 09 7 13 -6 0
|
||||
-1 sprites/arctic_snowy.png 330 300 09 4 8 26 13
|
||||
-1 sprites/arctic_snowy.png 346 300 09 3 12 -5 20
|
||||
-1 sprites/arctic_snowy.png 364 300 09 5 8 -31 6
|
||||
-1 sprites/arctic_snowy.png 380 300 09 4 15 -6 0
|
||||
|
||||
-1 sprites/arctic_snowy.png 10 330 09 27 38 -5 -8
|
||||
-1 sprites/arctic_snowy.png 58 330 09 20 37 -4 11
|
||||
-1 sprites/arctic_snowy.png 106 330 09 26 37 -31 5
|
||||
-1 sprites/arctic_snowy.png 154 330 09 20 38 -31 -8
|
||||
-1 sprites/arctic_snowy.png 202 330 09 9 16 17 11
|
||||
-1 sprites/arctic_snowy.png 234 330 09 9 15 -6 22
|
||||
-1 sprites/arctic_snowy.png 266 330 09 9 16 -31 3
|
||||
-1 sprites/arctic_snowy.png 298 330 09 9 15 -7 -8
|
||||
-1 sprites/arctic_snowy.png 330 330 09 7 8 25 11
|
||||
-1 sprites/arctic_snowy.png 346 330 09 5 10 -4 26
|
||||
-1 sprites/arctic_snowy.png 364 330 09 7 8 -31 5
|
||||
-1 sprites/arctic_snowy.png 380 330 09 6 12 -5 -8
|
||||
-1 * 7 02 05 32 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 3C
|
||||
-1 sprites/arctic_brown.png 10 210 09 19 38 -5 0
|
||||
-1 sprites/arctic_brown.png 58 210 09 18 38 -5 13
|
||||
-1 sprites/arctic_brown.png 106 210 09 18 38 -31 13
|
||||
-1 sprites/arctic_brown.png 154 210 09 19 38 -31 0
|
||||
-1 sprites/arctic_brown.png 202 210 09 9 19 14 11
|
||||
-1 sprites/arctic_brown.png 234 210 09 9 16 -7 22
|
||||
-1 sprites/arctic_brown.png 266 210 09 9 19 -31 11
|
||||
-1 sprites/arctic_brown.png 298 210 09 9 16 -7 0
|
||||
-1 sprites/arctic_brown.png 330 210 09 6 8 25 13
|
||||
-1 sprites/arctic_brown.png 346 210 09 4 12 -5 27
|
||||
-1 sprites/arctic_brown.png 364 210 09 6 8 -31 13
|
||||
-1 sprites/arctic_brown.png 380 210 09 5 12 -5 0
|
||||
|
||||
-1 sprites/arctic_brown.png 10 240 09 11 40 -7 0
|
||||
-1 sprites/arctic_brown.png 58 240 09 18 39 -6 5
|
||||
-1 sprites/arctic_brown.png 106 240 09 11 38 -31 12
|
||||
-1 sprites/arctic_brown.png 154 240 09 18 39 -31 0
|
||||
-1 sprites/arctic_brown.png 202 240 09 6 20 13 5
|
||||
-1 sprites/arctic_brown.png 234 240 09 7 13 -6 16
|
||||
-1 sprites/arctic_brown.png 266 240 09 6 20 -31 12
|
||||
-1 sprites/arctic_brown.png 298 240 09 7 13 -5 0
|
||||
-1 sprites/arctic_brown.png 330 240 09 5 8 25 6
|
||||
-1 sprites/arctic_brown.png 346 240 09 3 12 -5 20
|
||||
-1 sprites/arctic_brown.png 364 240 09 4 8 -31 13
|
||||
-1 sprites/arctic_brown.png 380 240 09 4 15 -7 0
|
||||
|
||||
-1 sprites/arctic_brown.png 10 270 09 20 38 -5 -8
|
||||
-1 sprites/arctic_brown.png 58 270 09 26 38 -5 5
|
||||
-1 sprites/arctic_brown.png 106 270 09 20 37 -31 11
|
||||
-1 sprites/arctic_brown.png 154 270 09 27 38 -31 -8
|
||||
-1 sprites/arctic_brown.png 202 270 09 9 16 17 3
|
||||
-1 sprites/arctic_brown.png 234 270 09 9 15 -7 22
|
||||
-1 sprites/arctic_brown.png 266 270 09 9 16 -31 11
|
||||
-1 sprites/arctic_brown.png 298 270 09 9 15 -6 -8
|
||||
-1 sprites/arctic_brown.png 330 270 09 7 8 25 5
|
||||
-1 sprites/arctic_brown.png 346 270 09 5 10 -4 27
|
||||
-1 sprites/arctic_brown.png 364 270 09 7 8 -31 11
|
||||
-1 sprites/arctic_brown.png 380 270 09 6 12 -5 -8
|
||||
|
||||
-1 sprites/arctic_brown.png 10 300 09 18 39 -6 0
|
||||
-1 sprites/arctic_brown.png 58 300 09 11 38 -5 12
|
||||
-1 sprites/arctic_brown.png 106 300 09 18 39 -31 5
|
||||
-1 sprites/arctic_brown.png 154 300 09 11 40 -32 0
|
||||
-1 sprites/arctic_brown.png 202 300 09 6 20 13 12
|
||||
-1 sprites/arctic_brown.png 234 300 09 7 13 -5 16
|
||||
-1 sprites/arctic_brown.png 266 300 09 6 20 -31 5
|
||||
-1 sprites/arctic_brown.png 298 300 09 7 13 -6 0
|
||||
-1 sprites/arctic_brown.png 330 300 09 4 8 26 13
|
||||
-1 sprites/arctic_brown.png 346 300 09 3 12 -5 20
|
||||
-1 sprites/arctic_brown.png 364 300 09 5 8 -31 6
|
||||
-1 sprites/arctic_brown.png 380 300 09 4 15 -6 0
|
||||
|
||||
-1 sprites/arctic_brown.png 10 330 09 27 38 -5 -8
|
||||
-1 sprites/arctic_brown.png 58 330 09 20 37 -4 11
|
||||
-1 sprites/arctic_brown.png 106 330 09 26 37 -31 5
|
||||
-1 sprites/arctic_brown.png 154 330 09 20 38 -31 -8
|
||||
-1 sprites/arctic_brown.png 202 330 09 9 16 17 11
|
||||
-1 sprites/arctic_brown.png 234 330 09 9 15 -6 22
|
||||
-1 sprites/arctic_brown.png 266 330 09 9 16 -31 3
|
||||
-1 sprites/arctic_brown.png 298 330 09 9 15 -7 -8
|
||||
-1 sprites/arctic_brown.png 330 330 09 7 8 25 11
|
||||
-1 sprites/arctic_brown.png 346 330 09 5 10 -4 26
|
||||
-1 sprites/arctic_brown.png 364 330 09 7 8 -31 5
|
||||
-1 sprites/arctic_brown.png 380 330 09 6 12 -5 -8
|
||||
-1 * 7 02 05 33 01 00 00 00
|
||||
|
||||
-1 * 14 02 05 34 81 81 00 FF 01 30 00 04 04 31 00
|
||||
-1 * 14 02 05 35 81 81 00 FF 01 32 00 04 04 33 00
|
||||
-1 * 14 02 05 36 81 80 00 FF 01 34 00 00 00 35 00
|
||||
-1 * 6 07 83 01 \7! 01 01
|
||||
-1 * 7 03 05 01 06 00 36 00
|
BIN
media/extra_grf/rivers/arctic_brown.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
media/extra_grf/rivers/arctic_snowy.png
Normal file
After Width: | Height: | Size: 14 KiB |
139
media/extra_grf/rivers/rapids.nfo
Normal file
@@ -0,0 +1,139 @@
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
// This file is part of OpenTTD.
|
||||
// OpenTTD 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, version 2.
|
||||
// OpenTTD 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. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
-1 * 0 0C "Rapid graphics"
|
||||
-1 * 4 01 05 01 04
|
||||
-1 sprites/rapids.png 10 10 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 90 10 09 39 64 -31 -8
|
||||
-1 sprites/rapids.png 170 10 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 250 10 09 39 64 -31 -8
|
||||
-1 * 7 02 05 00 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 04
|
||||
-1 sprites/rapids.png 10 60 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 90 60 09 39 64 -31 -8
|
||||
-1 sprites/rapids.png 170 60 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 250 60 09 39 64 -31 -8
|
||||
-1 * 7 02 05 01 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 04
|
||||
-1 sprites/rapids.png 10 110 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 90 110 09 39 64 -31 -8
|
||||
-1 sprites/rapids.png 170 110 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 250 110 09 39 64 -31 -8
|
||||
-1 * 7 02 05 02 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 04
|
||||
-1 sprites/rapids.png 10 160 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 90 160 09 39 64 -31 -8
|
||||
-1 sprites/rapids.png 170 160 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 250 160 09 39 64 -31 -8
|
||||
-1 * 7 02 05 03 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 04
|
||||
-1 sprites/rapids.png 10 210 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 90 210 09 39 64 -31 -8
|
||||
-1 sprites/rapids.png 170 210 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 250 210 09 39 64 -31 -8
|
||||
-1 * 7 02 05 04 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 04
|
||||
-1 sprites/rapids.png 10 260 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 90 260 09 39 64 -31 -8
|
||||
-1 sprites/rapids.png 170 260 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 250 260 09 39 64 -31 -8
|
||||
-1 * 7 02 05 05 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 04
|
||||
-1 sprites/rapids.png 10 310 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 90 310 09 39 64 -31 -8
|
||||
-1 sprites/rapids.png 170 310 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 250 310 09 39 64 -31 -8
|
||||
-1 * 7 02 05 06 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 04
|
||||
-1 sprites/rapids.png 10 360 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 90 360 09 39 64 -31 -8
|
||||
-1 sprites/rapids.png 170 360 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 250 360 09 39 64 -31 -8
|
||||
-1 * 7 02 05 07 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 04
|
||||
-1 sprites/rapids.png 10 410 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 90 410 09 39 64 -31 -8
|
||||
-1 sprites/rapids.png 170 410 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 250 410 09 39 64 -31 -8
|
||||
-1 * 7 02 05 08 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 04
|
||||
-1 sprites/rapids.png 10 460 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 90 460 09 39 64 -31 -8
|
||||
-1 sprites/rapids.png 170 460 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 250 460 09 39 64 -31 -8
|
||||
-1 * 7 02 05 09 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 04
|
||||
-1 sprites/rapids.png 10 510 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 90 510 09 39 64 -31 -8
|
||||
-1 sprites/rapids.png 170 510 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 250 510 09 39 64 -31 -8
|
||||
-1 * 7 02 05 0A 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 04
|
||||
-1 sprites/rapids.png 10 560 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 90 560 09 39 64 -31 -8
|
||||
-1 sprites/rapids.png 170 560 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 250 560 09 39 64 -31 -8
|
||||
-1 * 7 02 05 0B 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 04
|
||||
-1 sprites/rapids.png 10 610 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 90 610 09 39 64 -31 -8
|
||||
-1 sprites/rapids.png 170 610 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 250 610 09 39 64 -31 -8
|
||||
-1 * 7 02 05 0C 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 04
|
||||
-1 sprites/rapids.png 10 660 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 90 660 09 39 64 -31 -8
|
||||
-1 sprites/rapids.png 170 660 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 250 660 09 39 64 -31 -8
|
||||
-1 * 7 02 05 0D 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 04
|
||||
-1 sprites/rapids.png 10 710 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 90 710 09 39 64 -31 -8
|
||||
-1 sprites/rapids.png 170 710 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 250 710 09 39 64 -31 -8
|
||||
-1 * 7 02 05 0E 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 04
|
||||
-1 sprites/rapids.png 10 760 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 90 760 09 39 64 -31 -8
|
||||
-1 sprites/rapids.png 170 760 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 250 760 09 39 64 -31 -8
|
||||
-1 * 7 02 05 0F 01 00 00 00
|
||||
|
||||
-1 * 39 02 05 10 80 00 01 10
|
||||
00 00
|
||||
01 00
|
||||
02 00
|
||||
03 00
|
||||
04 00
|
||||
05 00
|
||||
06 00
|
||||
07 00
|
||||
08 00
|
||||
09 00
|
||||
0A 00
|
||||
0B 00
|
||||
0C 00
|
||||
0D 00
|
||||
0E 00
|
||||
0F 00
|
||||
-1 * 7 03 05 01 05 00 10 00
|
BIN
media/extra_grf/rivers/rapids.png
Normal file
After Width: | Height: | Size: 17 KiB |
146
media/extra_grf/rivers/temperate.nfo
Normal file
@@ -0,0 +1,146 @@
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
// This file is part of OpenTTD.
|
||||
// OpenTTD 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, version 2.
|
||||
// OpenTTD 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. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
-1 * 0 0C "Temperate river graphics by andythenorth (Andrew Parkhouse)"
|
||||
-1 * 4 01 05 01 3C
|
||||
-1 sprites/temperate.png 10 10 09 19 38 -5 0
|
||||
-1 sprites/temperate.png 58 10 09 18 38 -5 13
|
||||
-1 sprites/temperate.png 106 10 09 18 38 -31 13
|
||||
-1 sprites/temperate.png 154 10 09 19 38 -31 0
|
||||
-1 sprites/temperate.png 202 10 09 9 19 14 11
|
||||
-1 sprites/temperate.png 234 10 09 9 16 -7 22
|
||||
-1 sprites/temperate.png 266 10 09 9 19 -31 11
|
||||
-1 sprites/temperate.png 298 10 09 9 16 -7 0
|
||||
-1 sprites/temperate.png 330 10 09 6 8 25 13
|
||||
-1 sprites/temperate.png 346 10 09 4 12 -5 27
|
||||
-1 sprites/temperate.png 364 10 09 6 8 -31 13
|
||||
-1 sprites/temperate.png 380 10 09 5 12 -5 0
|
||||
|
||||
-1 sprites/temperate.png 10 40 09 11 40 -7 0
|
||||
-1 sprites/temperate.png 58 40 09 18 39 -6 5
|
||||
-1 sprites/temperate.png 106 40 09 11 38 -31 12
|
||||
-1 sprites/temperate.png 154 40 09 18 39 -31 0
|
||||
-1 sprites/temperate.png 202 40 09 6 20 13 5
|
||||
-1 sprites/temperate.png 234 40 09 7 13 -6 16
|
||||
-1 sprites/temperate.png 266 40 09 6 20 -31 12
|
||||
-1 sprites/temperate.png 298 40 09 7 13 -5 0
|
||||
-1 sprites/temperate.png 330 40 09 5 8 25 6
|
||||
-1 sprites/temperate.png 346 40 09 3 12 -5 20
|
||||
-1 sprites/temperate.png 364 40 09 4 8 -31 13
|
||||
-1 sprites/temperate.png 380 40 09 4 15 -7 0
|
||||
|
||||
-1 sprites/temperate.png 10 70 09 20 38 -5 -8
|
||||
-1 sprites/temperate.png 58 70 09 26 38 -5 5
|
||||
-1 sprites/temperate.png 106 70 09 20 37 -31 11
|
||||
-1 sprites/temperate.png 154 70 09 27 38 -31 -8
|
||||
-1 sprites/temperate.png 202 70 09 9 16 17 3
|
||||
-1 sprites/temperate.png 234 70 09 9 15 -7 22
|
||||
-1 sprites/temperate.png 266 70 09 9 16 -31 11
|
||||
-1 sprites/temperate.png 298 70 09 9 15 -6 -8
|
||||
-1 sprites/temperate.png 330 70 09 7 8 25 5
|
||||
-1 sprites/temperate.png 346 70 09 5 10 -4 27
|
||||
-1 sprites/temperate.png 364 70 09 7 8 -31 11
|
||||
-1 sprites/temperate.png 380 70 09 6 12 -5 -8
|
||||
|
||||
-1 sprites/temperate.png 10 100 09 18 39 -6 0
|
||||
-1 sprites/temperate.png 58 100 09 11 38 -5 12
|
||||
-1 sprites/temperate.png 106 100 09 18 39 -31 5
|
||||
-1 sprites/temperate.png 154 100 09 11 40 -32 0
|
||||
-1 sprites/temperate.png 202 100 09 6 20 13 12
|
||||
-1 sprites/temperate.png 234 100 09 7 13 -5 16
|
||||
-1 sprites/temperate.png 266 100 09 6 20 -31 5
|
||||
-1 sprites/temperate.png 298 100 09 7 13 -6 0
|
||||
-1 sprites/temperate.png 330 100 09 4 8 26 13
|
||||
-1 sprites/temperate.png 346 100 09 3 12 -5 20
|
||||
-1 sprites/temperate.png 364 100 09 5 8 -31 6
|
||||
-1 sprites/temperate.png 380 100 09 4 15 -6 0
|
||||
|
||||
-1 sprites/temperate.png 10 130 09 27 38 -5 -8
|
||||
-1 sprites/temperate.png 58 130 09 20 37 -4 11
|
||||
-1 sprites/temperate.png 106 130 09 26 37 -31 5
|
||||
-1 sprites/temperate.png 154 130 09 20 38 -31 -8
|
||||
-1 sprites/temperate.png 202 130 09 9 16 17 11
|
||||
-1 sprites/temperate.png 234 130 09 9 15 -6 22
|
||||
-1 sprites/temperate.png 266 130 09 9 16 -31 3
|
||||
-1 sprites/temperate.png 298 130 09 9 15 -7 -8
|
||||
-1 sprites/temperate.png 330 130 09 7 8 25 11
|
||||
-1 sprites/temperate.png 346 130 09 5 10 -4 26
|
||||
-1 sprites/temperate.png 364 130 09 7 8 -31 5
|
||||
-1 sprites/temperate.png 380 130 09 6 12 -5 -8
|
||||
-1 * 7 02 05 20 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 3C
|
||||
-1 sprites/temperate.png 10 210 09 19 38 -5 0
|
||||
-1 sprites/temperate.png 58 210 09 18 38 -5 13
|
||||
-1 sprites/temperate.png 106 210 09 18 38 -31 13
|
||||
-1 sprites/temperate.png 154 210 09 19 38 -31 0
|
||||
-1 sprites/temperate.png 202 210 09 9 19 14 11
|
||||
-1 sprites/temperate.png 234 210 09 9 16 -7 22
|
||||
-1 sprites/temperate.png 266 210 09 9 19 -31 11
|
||||
-1 sprites/temperate.png 298 210 09 9 16 -7 0
|
||||
-1 sprites/temperate.png 330 210 09 6 8 25 13
|
||||
-1 sprites/temperate.png 346 210 09 4 12 -5 27
|
||||
-1 sprites/temperate.png 364 210 09 6 8 -31 13
|
||||
-1 sprites/temperate.png 380 210 09 5 12 -5 0
|
||||
|
||||
-1 sprites/temperate.png 10 240 09 11 40 -7 0
|
||||
-1 sprites/temperate.png 58 240 09 18 39 -6 5
|
||||
-1 sprites/temperate.png 106 240 09 11 38 -31 12
|
||||
-1 sprites/temperate.png 154 240 09 18 39 -31 0
|
||||
-1 sprites/temperate.png 202 240 09 6 20 13 5
|
||||
-1 sprites/temperate.png 234 240 09 7 13 -6 16
|
||||
-1 sprites/temperate.png 266 240 09 6 20 -31 12
|
||||
-1 sprites/temperate.png 298 240 09 7 13 -5 0
|
||||
-1 sprites/temperate.png 330 240 09 5 8 25 6
|
||||
-1 sprites/temperate.png 346 240 09 3 12 -5 20
|
||||
-1 sprites/temperate.png 364 240 09 4 8 -31 13
|
||||
-1 sprites/temperate.png 380 240 09 4 15 -7 0
|
||||
|
||||
-1 sprites/temperate.png 10 270 09 20 38 -5 -8
|
||||
-1 sprites/temperate.png 58 270 09 26 38 -5 5
|
||||
-1 sprites/temperate.png 106 270 09 20 37 -31 11
|
||||
-1 sprites/temperate.png 154 270 09 27 38 -31 -8
|
||||
-1 sprites/temperate.png 202 270 09 9 16 17 3
|
||||
-1 sprites/temperate.png 234 270 09 9 15 -7 22
|
||||
-1 sprites/temperate.png 266 270 09 9 16 -31 11
|
||||
-1 sprites/temperate.png 298 270 09 9 15 -6 -8
|
||||
-1 sprites/temperate.png 330 270 09 7 8 25 5
|
||||
-1 sprites/temperate.png 346 270 09 5 10 -4 27
|
||||
-1 sprites/temperate.png 364 270 09 7 8 -31 11
|
||||
-1 sprites/temperate.png 380 270 09 6 12 -5 -8
|
||||
|
||||
-1 sprites/temperate.png 10 300 09 18 39 -6 0
|
||||
-1 sprites/temperate.png 58 300 09 11 38 -5 12
|
||||
-1 sprites/temperate.png 106 300 09 18 39 -31 5
|
||||
-1 sprites/temperate.png 154 300 09 11 40 -32 0
|
||||
-1 sprites/temperate.png 202 300 09 6 20 13 12
|
||||
-1 sprites/temperate.png 234 300 09 7 13 -5 16
|
||||
-1 sprites/temperate.png 266 300 09 6 20 -31 5
|
||||
-1 sprites/temperate.png 298 300 09 7 13 -6 0
|
||||
-1 sprites/temperate.png 330 300 09 4 8 26 13
|
||||
-1 sprites/temperate.png 346 300 09 3 12 -5 20
|
||||
-1 sprites/temperate.png 364 300 09 5 8 -31 6
|
||||
-1 sprites/temperate.png 380 300 09 4 15 -6 0
|
||||
|
||||
-1 sprites/temperate.png 10 330 09 27 38 -5 -8
|
||||
-1 sprites/temperate.png 58 330 09 20 37 -4 11
|
||||
-1 sprites/temperate.png 106 330 09 26 37 -31 5
|
||||
-1 sprites/temperate.png 154 330 09 20 38 -31 -8
|
||||
-1 sprites/temperate.png 202 330 09 9 16 17 11
|
||||
-1 sprites/temperate.png 234 330 09 9 15 -6 22
|
||||
-1 sprites/temperate.png 266 330 09 9 16 -31 3
|
||||
-1 sprites/temperate.png 298 330 09 9 15 -7 -8
|
||||
-1 sprites/temperate.png 330 330 09 7 8 25 11
|
||||
-1 sprites/temperate.png 346 330 09 5 10 -4 26
|
||||
-1 sprites/temperate.png 364 330 09 7 8 -31 5
|
||||
-1 sprites/temperate.png 380 330 09 6 12 -5 -8
|
||||
-1 * 7 02 05 21 01 00 00 00
|
||||
|
||||
-1 * 14 02 05 22 81 80 00 FF 01 20 00 00 00 21 00
|
||||
-1 * 6 07 83 01 \7! 00 01
|
||||
-1 * 7 03 05 01 06 00 22 00
|
BIN
media/extra_grf/rivers/temperate.png
Normal file
After Width: | Height: | Size: 16 KiB |
146
media/extra_grf/rivers/toyland.nfo
Normal file
@@ -0,0 +1,146 @@
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
// This file is part of OpenTTD.
|
||||
// OpenTTD 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, version 2.
|
||||
// OpenTTD 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. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
-1 * 0 0C "Toyland river graphics by andythenorth (Andrew Parkhouse)"
|
||||
-1 * 4 01 05 01 3C
|
||||
-1 sprites/toyland.png 10 10 09 19 38 -5 0
|
||||
-1 sprites/toyland.png 58 10 09 18 38 -5 13
|
||||
-1 sprites/toyland.png 106 10 09 18 38 -31 13
|
||||
-1 sprites/toyland.png 154 10 09 19 38 -31 0
|
||||
-1 sprites/toyland.png 202 10 09 9 19 14 11
|
||||
-1 sprites/toyland.png 234 10 09 9 16 -7 22
|
||||
-1 sprites/toyland.png 266 10 09 9 19 -31 11
|
||||
-1 sprites/toyland.png 298 10 09 9 16 -7 0
|
||||
-1 sprites/toyland.png 330 10 09 6 8 25 13
|
||||
-1 sprites/toyland.png 346 10 09 4 12 -5 27
|
||||
-1 sprites/toyland.png 364 10 09 6 8 -31 13
|
||||
-1 sprites/toyland.png 380 10 09 5 12 -5 0
|
||||
|
||||
-1 sprites/toyland.png 10 40 09 11 40 -7 0
|
||||
-1 sprites/toyland.png 58 40 09 18 39 -6 5
|
||||
-1 sprites/toyland.png 106 40 09 11 38 -31 12
|
||||
-1 sprites/toyland.png 154 40 09 18 39 -31 0
|
||||
-1 sprites/toyland.png 202 40 09 6 20 13 5
|
||||
-1 sprites/toyland.png 234 40 09 7 13 -6 16
|
||||
-1 sprites/toyland.png 266 40 09 6 20 -31 12
|
||||
-1 sprites/toyland.png 298 40 09 7 13 -5 0
|
||||
-1 sprites/toyland.png 330 40 09 5 8 25 6
|
||||
-1 sprites/toyland.png 346 40 09 3 12 -5 20
|
||||
-1 sprites/toyland.png 364 40 09 4 8 -31 13
|
||||
-1 sprites/toyland.png 380 40 09 4 15 -7 0
|
||||
|
||||
-1 sprites/toyland.png 10 70 09 20 38 -5 -8
|
||||
-1 sprites/toyland.png 58 70 09 26 38 -5 5
|
||||
-1 sprites/toyland.png 106 70 09 20 37 -31 11
|
||||
-1 sprites/toyland.png 154 70 09 27 38 -31 -8
|
||||
-1 sprites/toyland.png 202 70 09 9 16 17 3
|
||||
-1 sprites/toyland.png 234 70 09 9 15 -7 22
|
||||
-1 sprites/toyland.png 266 70 09 9 16 -31 11
|
||||
-1 sprites/toyland.png 298 70 09 9 15 -6 -8
|
||||
-1 sprites/toyland.png 330 70 09 7 8 25 5
|
||||
-1 sprites/toyland.png 346 70 09 5 10 -4 27
|
||||
-1 sprites/toyland.png 364 70 09 7 8 -31 11
|
||||
-1 sprites/toyland.png 380 70 09 6 12 -5 -8
|
||||
|
||||
-1 sprites/toyland.png 10 100 09 18 39 -6 0
|
||||
-1 sprites/toyland.png 58 100 09 11 38 -5 12
|
||||
-1 sprites/toyland.png 106 100 09 18 39 -31 5
|
||||
-1 sprites/toyland.png 154 100 09 11 40 -32 0
|
||||
-1 sprites/toyland.png 202 100 09 6 20 13 12
|
||||
-1 sprites/toyland.png 234 100 09 7 13 -5 16
|
||||
-1 sprites/toyland.png 266 100 09 6 20 -31 5
|
||||
-1 sprites/toyland.png 298 100 09 7 13 -6 0
|
||||
-1 sprites/toyland.png 330 100 09 4 8 26 13
|
||||
-1 sprites/toyland.png 346 100 09 3 12 -5 20
|
||||
-1 sprites/toyland.png 364 100 09 5 8 -31 6
|
||||
-1 sprites/toyland.png 380 100 09 4 15 -6 0
|
||||
|
||||
-1 sprites/toyland.png 10 130 09 27 38 -5 -8
|
||||
-1 sprites/toyland.png 58 130 09 20 37 -4 11
|
||||
-1 sprites/toyland.png 106 130 09 26 37 -31 5
|
||||
-1 sprites/toyland.png 154 130 09 20 38 -31 -8
|
||||
-1 sprites/toyland.png 202 130 09 9 16 17 11
|
||||
-1 sprites/toyland.png 234 130 09 9 15 -6 22
|
||||
-1 sprites/toyland.png 266 130 09 9 16 -31 3
|
||||
-1 sprites/toyland.png 298 130 09 9 15 -7 -8
|
||||
-1 sprites/toyland.png 330 130 09 7 8 25 11
|
||||
-1 sprites/toyland.png 346 130 09 5 10 -4 26
|
||||
-1 sprites/toyland.png 364 130 09 7 8 -31 5
|
||||
-1 sprites/toyland.png 380 130 09 6 12 -5 -8
|
||||
-1 * 7 02 05 50 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 3C
|
||||
-1 sprites/toyland.png 10 210 09 19 38 -5 0
|
||||
-1 sprites/toyland.png 58 210 09 18 38 -5 13
|
||||
-1 sprites/toyland.png 106 210 09 18 38 -31 13
|
||||
-1 sprites/toyland.png 154 210 09 19 38 -31 0
|
||||
-1 sprites/toyland.png 202 210 09 9 19 14 11
|
||||
-1 sprites/toyland.png 234 210 09 9 16 -7 22
|
||||
-1 sprites/toyland.png 266 210 09 9 19 -31 11
|
||||
-1 sprites/toyland.png 298 210 09 9 16 -7 0
|
||||
-1 sprites/toyland.png 330 210 09 6 8 25 13
|
||||
-1 sprites/toyland.png 346 210 09 4 12 -5 27
|
||||
-1 sprites/toyland.png 364 210 09 6 8 -31 13
|
||||
-1 sprites/toyland.png 380 210 09 5 12 -5 0
|
||||
|
||||
-1 sprites/toyland.png 10 240 09 11 40 -7 0
|
||||
-1 sprites/toyland.png 58 240 09 18 39 -6 5
|
||||
-1 sprites/toyland.png 106 240 09 11 38 -31 12
|
||||
-1 sprites/toyland.png 154 240 09 18 39 -31 0
|
||||
-1 sprites/toyland.png 202 240 09 6 20 13 5
|
||||
-1 sprites/toyland.png 234 240 09 7 13 -6 16
|
||||
-1 sprites/toyland.png 266 240 09 6 20 -31 12
|
||||
-1 sprites/toyland.png 298 240 09 7 13 -5 0
|
||||
-1 sprites/toyland.png 330 240 09 5 8 25 6
|
||||
-1 sprites/toyland.png 346 240 09 3 12 -5 20
|
||||
-1 sprites/toyland.png 364 240 09 4 8 -31 13
|
||||
-1 sprites/toyland.png 380 240 09 4 15 -7 0
|
||||
|
||||
-1 sprites/toyland.png 10 270 09 20 38 -5 -8
|
||||
-1 sprites/toyland.png 58 270 09 26 38 -5 5
|
||||
-1 sprites/toyland.png 106 270 09 20 37 -31 11
|
||||
-1 sprites/toyland.png 154 270 09 27 38 -31 -8
|
||||
-1 sprites/toyland.png 202 270 09 9 16 17 3
|
||||
-1 sprites/toyland.png 234 270 09 9 15 -7 22
|
||||
-1 sprites/toyland.png 266 270 09 9 16 -31 11
|
||||
-1 sprites/toyland.png 298 270 09 9 15 -6 -8
|
||||
-1 sprites/toyland.png 330 270 09 7 8 25 5
|
||||
-1 sprites/toyland.png 346 270 09 5 10 -4 27
|
||||
-1 sprites/toyland.png 364 270 09 7 8 -31 11
|
||||
-1 sprites/toyland.png 380 270 09 6 12 -5 -8
|
||||
|
||||
-1 sprites/toyland.png 10 300 09 18 39 -6 0
|
||||
-1 sprites/toyland.png 58 300 09 11 38 -5 12
|
||||
-1 sprites/toyland.png 106 300 09 18 39 -31 5
|
||||
-1 sprites/toyland.png 154 300 09 11 40 -32 0
|
||||
-1 sprites/toyland.png 202 300 09 6 20 13 12
|
||||
-1 sprites/toyland.png 234 300 09 7 13 -5 16
|
||||
-1 sprites/toyland.png 266 300 09 6 20 -31 5
|
||||
-1 sprites/toyland.png 298 300 09 7 13 -6 0
|
||||
-1 sprites/toyland.png 330 300 09 4 8 26 13
|
||||
-1 sprites/toyland.png 346 300 09 3 12 -5 20
|
||||
-1 sprites/toyland.png 364 300 09 5 8 -31 6
|
||||
-1 sprites/toyland.png 380 300 09 4 15 -6 0
|
||||
|
||||
-1 sprites/toyland.png 10 330 09 27 38 -5 -8
|
||||
-1 sprites/toyland.png 58 330 09 20 37 -4 11
|
||||
-1 sprites/toyland.png 106 330 09 26 37 -31 5
|
||||
-1 sprites/toyland.png 154 330 09 20 38 -31 -8
|
||||
-1 sprites/toyland.png 202 330 09 9 16 17 11
|
||||
-1 sprites/toyland.png 234 330 09 9 15 -6 22
|
||||
-1 sprites/toyland.png 266 330 09 9 16 -31 3
|
||||
-1 sprites/toyland.png 298 330 09 9 15 -7 -8
|
||||
-1 sprites/toyland.png 330 330 09 7 8 25 11
|
||||
-1 sprites/toyland.png 346 330 09 5 10 -4 26
|
||||
-1 sprites/toyland.png 364 330 09 7 8 -31 5
|
||||
-1 sprites/toyland.png 380 330 09 6 12 -5 -8
|
||||
-1 * 7 02 05 51 01 00 00 00
|
||||
|
||||
-1 * 14 02 05 52 81 80 00 FF 01 50 00 00 00 51 00
|
||||
-1 * 6 07 83 01 \7! 03 01
|
||||
-1 * 7 03 05 01 06 00 52 00
|
BIN
media/extra_grf/rivers/toyland.png
Normal file
After Width: | Height: | Size: 16 KiB |
282
media/extra_grf/rivers/tropic.nfo
Normal file
@@ -0,0 +1,282 @@
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
// This file is part of OpenTTD.
|
||||
// OpenTTD 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, version 2.
|
||||
// OpenTTD 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. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
-1 * 0 0C "Tropic river graphics by andythenorth (Andrew Parkhouse)"
|
||||
-1 * 4 01 05 01 3C
|
||||
-1 sprites/tropic_desert.png 10 10 09 19 38 -5 0
|
||||
-1 sprites/tropic_desert.png 58 10 09 18 38 -5 13
|
||||
-1 sprites/tropic_desert.png 106 10 09 18 38 -31 13
|
||||
-1 sprites/tropic_desert.png 154 10 09 19 38 -31 0
|
||||
-1 sprites/tropic_desert.png 202 10 09 9 19 14 11
|
||||
-1 sprites/tropic_desert.png 234 10 09 9 16 -7 22
|
||||
-1 sprites/tropic_desert.png 266 10 09 9 19 -31 11
|
||||
-1 sprites/tropic_desert.png 298 10 09 9 16 -7 0
|
||||
-1 sprites/tropic_desert.png 330 10 09 6 8 25 13
|
||||
-1 sprites/tropic_desert.png 346 10 09 4 12 -5 27
|
||||
-1 sprites/tropic_desert.png 364 10 09 6 8 -31 13
|
||||
-1 sprites/tropic_desert.png 380 10 09 5 12 -5 0
|
||||
|
||||
-1 sprites/tropic_desert.png 10 40 09 11 40 -7 0
|
||||
-1 sprites/tropic_desert.png 58 40 09 18 39 -6 5
|
||||
-1 sprites/tropic_desert.png 106 40 09 11 38 -31 12
|
||||
-1 sprites/tropic_desert.png 154 40 09 18 39 -31 0
|
||||
-1 sprites/tropic_desert.png 202 40 09 6 20 13 5
|
||||
-1 sprites/tropic_desert.png 234 40 09 7 13 -6 16
|
||||
-1 sprites/tropic_desert.png 266 40 09 6 20 -31 12
|
||||
-1 sprites/tropic_desert.png 298 40 09 7 13 -5 0
|
||||
-1 sprites/tropic_desert.png 330 40 09 5 8 25 6
|
||||
-1 sprites/tropic_desert.png 346 40 09 3 12 -5 20
|
||||
-1 sprites/tropic_desert.png 364 40 09 4 8 -31 13
|
||||
-1 sprites/tropic_desert.png 380 40 09 4 15 -7 0
|
||||
|
||||
-1 sprites/tropic_desert.png 10 70 09 20 38 -5 -8
|
||||
-1 sprites/tropic_desert.png 58 70 09 26 38 -5 5
|
||||
-1 sprites/tropic_desert.png 106 70 09 20 37 -31 11
|
||||
-1 sprites/tropic_desert.png 154 70 09 27 38 -31 -8
|
||||
-1 sprites/tropic_desert.png 202 70 09 9 16 17 3
|
||||
-1 sprites/tropic_desert.png 234 70 09 9 15 -7 22
|
||||
-1 sprites/tropic_desert.png 266 70 09 9 16 -31 11
|
||||
-1 sprites/tropic_desert.png 298 70 09 9 15 -6 -8
|
||||
-1 sprites/tropic_desert.png 330 70 09 7 8 25 5
|
||||
-1 sprites/tropic_desert.png 346 70 09 5 10 -4 27
|
||||
-1 sprites/tropic_desert.png 364 70 09 7 8 -31 11
|
||||
-1 sprites/tropic_desert.png 380 70 09 6 12 -5 -8
|
||||
|
||||
-1 sprites/tropic_desert.png 10 100 09 18 39 -6 0
|
||||
-1 sprites/tropic_desert.png 58 100 09 11 38 -5 12
|
||||
-1 sprites/tropic_desert.png 106 100 09 18 39 -31 5
|
||||
-1 sprites/tropic_desert.png 154 100 09 11 40 -32 0
|
||||
-1 sprites/tropic_desert.png 202 100 09 6 20 13 12
|
||||
-1 sprites/tropic_desert.png 234 100 09 7 13 -5 16
|
||||
-1 sprites/tropic_desert.png 266 100 09 6 20 -31 5
|
||||
-1 sprites/tropic_desert.png 298 100 09 7 13 -6 0
|
||||
-1 sprites/tropic_desert.png 330 100 09 4 8 26 13
|
||||
-1 sprites/tropic_desert.png 346 100 09 3 12 -5 20
|
||||
-1 sprites/tropic_desert.png 364 100 09 5 8 -31 6
|
||||
-1 sprites/tropic_desert.png 380 100 09 4 15 -6 0
|
||||
|
||||
-1 sprites/tropic_desert.png 10 130 09 27 38 -5 -8
|
||||
-1 sprites/tropic_desert.png 58 130 09 20 37 -4 11
|
||||
-1 sprites/tropic_desert.png 106 130 09 26 37 -31 5
|
||||
-1 sprites/tropic_desert.png 154 130 09 20 38 -31 -8
|
||||
-1 sprites/tropic_desert.png 202 130 09 9 16 17 11
|
||||
-1 sprites/tropic_desert.png 234 130 09 9 15 -6 22
|
||||
-1 sprites/tropic_desert.png 266 130 09 9 16 -31 3
|
||||
-1 sprites/tropic_desert.png 298 130 09 9 15 -7 -8
|
||||
-1 sprites/tropic_desert.png 330 130 09 7 8 25 11
|
||||
-1 sprites/tropic_desert.png 346 130 09 5 10 -4 26
|
||||
-1 sprites/tropic_desert.png 364 130 09 7 8 -31 5
|
||||
-1 sprites/tropic_desert.png 380 130 09 6 12 -5 -8
|
||||
-1 * 7 02 05 40 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 3C
|
||||
-1 sprites/tropic_forest.png 10 10 09 19 38 -5 0
|
||||
-1 sprites/tropic_forest.png 58 10 09 18 38 -5 13
|
||||
-1 sprites/tropic_forest.png 106 10 09 18 38 -31 13
|
||||
-1 sprites/tropic_forest.png 154 10 09 19 38 -31 0
|
||||
-1 sprites/tropic_forest.png 202 10 09 9 19 14 11
|
||||
-1 sprites/tropic_forest.png 234 10 09 9 16 -7 22
|
||||
-1 sprites/tropic_forest.png 266 10 09 9 19 -31 11
|
||||
-1 sprites/tropic_forest.png 298 10 09 9 16 -7 0
|
||||
-1 sprites/tropic_forest.png 330 10 09 6 8 25 13
|
||||
-1 sprites/tropic_forest.png 346 10 09 4 12 -5 27
|
||||
-1 sprites/tropic_forest.png 364 10 09 6 8 -31 13
|
||||
-1 sprites/tropic_forest.png 380 10 09 5 12 -5 0
|
||||
|
||||
-1 sprites/tropic_forest.png 10 40 09 11 40 -7 0
|
||||
-1 sprites/tropic_forest.png 58 40 09 18 39 -6 5
|
||||
-1 sprites/tropic_forest.png 106 40 09 11 38 -31 12
|
||||
-1 sprites/tropic_forest.png 154 40 09 18 39 -31 0
|
||||
-1 sprites/tropic_forest.png 202 40 09 6 20 13 5
|
||||
-1 sprites/tropic_forest.png 234 40 09 7 13 -6 16
|
||||
-1 sprites/tropic_forest.png 266 40 09 6 20 -31 12
|
||||
-1 sprites/tropic_forest.png 298 40 09 7 13 -5 0
|
||||
-1 sprites/tropic_forest.png 330 40 09 5 8 25 6
|
||||
-1 sprites/tropic_forest.png 346 40 09 3 12 -5 20
|
||||
-1 sprites/tropic_forest.png 364 40 09 4 8 -31 13
|
||||
-1 sprites/tropic_forest.png 380 40 09 4 15 -7 0
|
||||
|
||||
-1 sprites/tropic_forest.png 10 70 09 20 38 -5 -8
|
||||
-1 sprites/tropic_forest.png 58 70 09 26 38 -5 5
|
||||
-1 sprites/tropic_forest.png 106 70 09 20 37 -31 11
|
||||
-1 sprites/tropic_forest.png 154 70 09 27 38 -31 -8
|
||||
-1 sprites/tropic_forest.png 202 70 09 9 16 17 3
|
||||
-1 sprites/tropic_forest.png 234 70 09 9 15 -7 22
|
||||
-1 sprites/tropic_forest.png 266 70 09 9 16 -31 11
|
||||
-1 sprites/tropic_forest.png 298 70 09 9 15 -6 -8
|
||||
-1 sprites/tropic_forest.png 330 70 09 7 8 25 5
|
||||
-1 sprites/tropic_forest.png 346 70 09 5 10 -4 27
|
||||
-1 sprites/tropic_forest.png 364 70 09 7 8 -31 11
|
||||
-1 sprites/tropic_forest.png 380 70 09 6 12 -5 -8
|
||||
|
||||
-1 sprites/tropic_forest.png 10 100 09 18 39 -6 0
|
||||
-1 sprites/tropic_forest.png 58 100 09 11 38 -5 12
|
||||
-1 sprites/tropic_forest.png 106 100 09 18 39 -31 5
|
||||
-1 sprites/tropic_forest.png 154 100 09 11 40 -32 0
|
||||
-1 sprites/tropic_forest.png 202 100 09 6 20 13 12
|
||||
-1 sprites/tropic_forest.png 234 100 09 7 13 -5 16
|
||||
-1 sprites/tropic_forest.png 266 100 09 6 20 -31 5
|
||||
-1 sprites/tropic_forest.png 298 100 09 7 13 -6 0
|
||||
-1 sprites/tropic_forest.png 330 100 09 4 8 26 13
|
||||
-1 sprites/tropic_forest.png 346 100 09 3 12 -5 20
|
||||
-1 sprites/tropic_forest.png 364 100 09 5 8 -31 6
|
||||
-1 sprites/tropic_forest.png 380 100 09 4 15 -6 0
|
||||
|
||||
-1 sprites/tropic_forest.png 10 130 09 27 38 -5 -8
|
||||
-1 sprites/tropic_forest.png 58 130 09 20 37 -4 11
|
||||
-1 sprites/tropic_forest.png 106 130 09 26 37 -31 5
|
||||
-1 sprites/tropic_forest.png 154 130 09 20 38 -31 -8
|
||||
-1 sprites/tropic_forest.png 202 130 09 9 16 17 11
|
||||
-1 sprites/tropic_forest.png 234 130 09 9 15 -6 22
|
||||
-1 sprites/tropic_forest.png 266 130 09 9 16 -31 3
|
||||
-1 sprites/tropic_forest.png 298 130 09 9 15 -7 -8
|
||||
-1 sprites/tropic_forest.png 330 130 09 7 8 25 11
|
||||
-1 sprites/tropic_forest.png 346 130 09 5 10 -4 26
|
||||
-1 sprites/tropic_forest.png 364 130 09 7 8 -31 5
|
||||
-1 sprites/tropic_forest.png 380 130 09 6 12 -5 -8
|
||||
-1 * 7 02 05 41 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 3C
|
||||
-1 sprites/tropic_desert.png 10 210 09 19 38 -5 0
|
||||
-1 sprites/tropic_desert.png 58 210 09 18 38 -5 13
|
||||
-1 sprites/tropic_desert.png 106 210 09 18 38 -31 13
|
||||
-1 sprites/tropic_desert.png 154 210 09 19 38 -31 0
|
||||
-1 sprites/tropic_desert.png 202 210 09 9 19 14 11
|
||||
-1 sprites/tropic_desert.png 234 210 09 9 16 -7 22
|
||||
-1 sprites/tropic_desert.png 266 210 09 9 19 -31 11
|
||||
-1 sprites/tropic_desert.png 298 210 09 9 16 -7 0
|
||||
-1 sprites/tropic_desert.png 330 210 09 6 8 25 13
|
||||
-1 sprites/tropic_desert.png 346 210 09 4 12 -5 27
|
||||
-1 sprites/tropic_desert.png 364 210 09 6 8 -31 13
|
||||
-1 sprites/tropic_desert.png 380 210 09 5 12 -5 0
|
||||
|
||||
-1 sprites/tropic_desert.png 10 240 09 11 40 -7 0
|
||||
-1 sprites/tropic_desert.png 58 240 09 18 39 -6 5
|
||||
-1 sprites/tropic_desert.png 106 240 09 11 38 -31 12
|
||||
-1 sprites/tropic_desert.png 154 240 09 18 39 -31 0
|
||||
-1 sprites/tropic_desert.png 202 240 09 6 20 13 5
|
||||
-1 sprites/tropic_desert.png 234 240 09 7 13 -6 16
|
||||
-1 sprites/tropic_desert.png 266 240 09 6 20 -31 12
|
||||
-1 sprites/tropic_desert.png 298 240 09 7 13 -5 0
|
||||
-1 sprites/tropic_desert.png 330 240 09 5 8 25 6
|
||||
-1 sprites/tropic_desert.png 346 240 09 3 12 -5 20
|
||||
-1 sprites/tropic_desert.png 364 240 09 4 8 -31 13
|
||||
-1 sprites/tropic_desert.png 380 240 09 4 15 -7 0
|
||||
|
||||
-1 sprites/tropic_desert.png 10 270 09 20 38 -5 -8
|
||||
-1 sprites/tropic_desert.png 58 270 09 26 38 -5 5
|
||||
-1 sprites/tropic_desert.png 106 270 09 20 37 -31 11
|
||||
-1 sprites/tropic_desert.png 154 270 09 27 38 -31 -8
|
||||
-1 sprites/tropic_desert.png 202 270 09 9 16 17 3
|
||||
-1 sprites/tropic_desert.png 234 270 09 9 15 -7 22
|
||||
-1 sprites/tropic_desert.png 266 270 09 9 16 -31 11
|
||||
-1 sprites/tropic_desert.png 298 270 09 9 15 -6 -8
|
||||
-1 sprites/tropic_desert.png 330 270 09 7 8 25 5
|
||||
-1 sprites/tropic_desert.png 346 270 09 5 10 -4 27
|
||||
-1 sprites/tropic_desert.png 364 270 09 7 8 -31 11
|
||||
-1 sprites/tropic_desert.png 380 270 09 6 12 -5 -8
|
||||
|
||||
-1 sprites/tropic_desert.png 10 300 09 18 39 -6 0
|
||||
-1 sprites/tropic_desert.png 58 300 09 11 38 -5 12
|
||||
-1 sprites/tropic_desert.png 106 300 09 18 39 -31 5
|
||||
-1 sprites/tropic_desert.png 154 300 09 11 40 -32 0
|
||||
-1 sprites/tropic_desert.png 202 300 09 6 20 13 12
|
||||
-1 sprites/tropic_desert.png 234 300 09 7 13 -5 16
|
||||
-1 sprites/tropic_desert.png 266 300 09 6 20 -31 5
|
||||
-1 sprites/tropic_desert.png 298 300 09 7 13 -6 0
|
||||
-1 sprites/tropic_desert.png 330 300 09 4 8 26 13
|
||||
-1 sprites/tropic_desert.png 346 300 09 3 12 -5 20
|
||||
-1 sprites/tropic_desert.png 364 300 09 5 8 -31 6
|
||||
-1 sprites/tropic_desert.png 380 300 09 4 15 -6 0
|
||||
|
||||
-1 sprites/tropic_desert.png 10 330 09 27 38 -5 -8
|
||||
-1 sprites/tropic_desert.png 58 330 09 20 37 -4 11
|
||||
-1 sprites/tropic_desert.png 106 330 09 26 37 -31 5
|
||||
-1 sprites/tropic_desert.png 154 330 09 20 38 -31 -8
|
||||
-1 sprites/tropic_desert.png 202 330 09 9 16 17 11
|
||||
-1 sprites/tropic_desert.png 234 330 09 9 15 -6 22
|
||||
-1 sprites/tropic_desert.png 266 330 09 9 16 -31 3
|
||||
-1 sprites/tropic_desert.png 298 330 09 9 15 -7 -8
|
||||
-1 sprites/tropic_desert.png 330 330 09 7 8 25 11
|
||||
-1 sprites/tropic_desert.png 346 330 09 5 10 -4 26
|
||||
-1 sprites/tropic_desert.png 364 330 09 7 8 -31 5
|
||||
-1 sprites/tropic_desert.png 380 330 09 6 12 -5 -8
|
||||
-1 * 7 02 05 42 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 3C
|
||||
-1 sprites/tropic_forest.png 10 210 09 19 38 -5 0
|
||||
-1 sprites/tropic_forest.png 58 210 09 18 38 -5 13
|
||||
-1 sprites/tropic_forest.png 106 210 09 18 38 -31 13
|
||||
-1 sprites/tropic_forest.png 154 210 09 19 38 -31 0
|
||||
-1 sprites/tropic_forest.png 202 210 09 9 19 14 11
|
||||
-1 sprites/tropic_forest.png 234 210 09 9 16 -7 22
|
||||
-1 sprites/tropic_forest.png 266 210 09 9 19 -31 11
|
||||
-1 sprites/tropic_forest.png 298 210 09 9 16 -7 0
|
||||
-1 sprites/tropic_forest.png 330 210 09 6 8 25 13
|
||||
-1 sprites/tropic_forest.png 346 210 09 4 12 -5 27
|
||||
-1 sprites/tropic_forest.png 364 210 09 6 8 -31 13
|
||||
-1 sprites/tropic_forest.png 380 210 09 5 12 -5 0
|
||||
|
||||
-1 sprites/tropic_forest.png 10 240 09 11 40 -7 0
|
||||
-1 sprites/tropic_forest.png 58 240 09 18 39 -6 5
|
||||
-1 sprites/tropic_forest.png 106 240 09 11 38 -31 12
|
||||
-1 sprites/tropic_forest.png 154 240 09 18 39 -31 0
|
||||
-1 sprites/tropic_forest.png 202 240 09 6 20 13 5
|
||||
-1 sprites/tropic_forest.png 234 240 09 7 13 -6 16
|
||||
-1 sprites/tropic_forest.png 266 240 09 6 20 -31 12
|
||||
-1 sprites/tropic_forest.png 298 240 09 7 13 -5 0
|
||||
-1 sprites/tropic_forest.png 330 240 09 5 8 25 6
|
||||
-1 sprites/tropic_forest.png 346 240 09 3 12 -5 20
|
||||
-1 sprites/tropic_forest.png 364 240 09 4 8 -31 13
|
||||
-1 sprites/tropic_forest.png 380 240 09 4 15 -7 0
|
||||
|
||||
-1 sprites/tropic_forest.png 10 270 09 20 38 -5 -8
|
||||
-1 sprites/tropic_forest.png 58 270 09 26 38 -5 5
|
||||
-1 sprites/tropic_forest.png 106 270 09 20 37 -31 11
|
||||
-1 sprites/tropic_forest.png 154 270 09 27 38 -31 -8
|
||||
-1 sprites/tropic_forest.png 202 270 09 9 16 17 3
|
||||
-1 sprites/tropic_forest.png 234 270 09 9 15 -7 22
|
||||
-1 sprites/tropic_forest.png 266 270 09 9 16 -31 11
|
||||
-1 sprites/tropic_forest.png 298 270 09 9 15 -6 -8
|
||||
-1 sprites/tropic_forest.png 330 270 09 7 8 25 5
|
||||
-1 sprites/tropic_forest.png 346 270 09 5 10 -4 27
|
||||
-1 sprites/tropic_forest.png 364 270 09 7 8 -31 11
|
||||
-1 sprites/tropic_forest.png 380 270 09 6 12 -5 -8
|
||||
|
||||
-1 sprites/tropic_forest.png 10 300 09 18 39 -6 0
|
||||
-1 sprites/tropic_forest.png 58 300 09 11 38 -5 12
|
||||
-1 sprites/tropic_forest.png 106 300 09 18 39 -31 5
|
||||
-1 sprites/tropic_forest.png 154 300 09 11 40 -32 0
|
||||
-1 sprites/tropic_forest.png 202 300 09 6 20 13 12
|
||||
-1 sprites/tropic_forest.png 234 300 09 7 13 -5 16
|
||||
-1 sprites/tropic_forest.png 266 300 09 6 20 -31 5
|
||||
-1 sprites/tropic_forest.png 298 300 09 7 13 -6 0
|
||||
-1 sprites/tropic_forest.png 330 300 09 4 8 26 13
|
||||
-1 sprites/tropic_forest.png 346 300 09 3 12 -5 20
|
||||
-1 sprites/tropic_forest.png 364 300 09 5 8 -31 6
|
||||
-1 sprites/tropic_forest.png 380 300 09 4 15 -6 0
|
||||
|
||||
-1 sprites/tropic_forest.png 10 330 09 27 38 -5 -8
|
||||
-1 sprites/tropic_forest.png 58 330 09 20 37 -4 11
|
||||
-1 sprites/tropic_forest.png 106 330 09 26 37 -31 5
|
||||
-1 sprites/tropic_forest.png 154 330 09 20 38 -31 -8
|
||||
-1 sprites/tropic_forest.png 202 330 09 9 16 17 11
|
||||
-1 sprites/tropic_forest.png 234 330 09 9 15 -6 22
|
||||
-1 sprites/tropic_forest.png 266 330 09 9 16 -31 3
|
||||
-1 sprites/tropic_forest.png 298 330 09 9 15 -7 -8
|
||||
-1 sprites/tropic_forest.png 330 330 09 7 8 25 11
|
||||
-1 sprites/tropic_forest.png 346 330 09 5 10 -4 26
|
||||
-1 sprites/tropic_forest.png 364 330 09 7 8 -31 5
|
||||
-1 sprites/tropic_forest.png 380 330 09 6 12 -5 -8
|
||||
-1 * 7 02 05 43 01 00 00 00
|
||||
|
||||
-1 * 14 02 05 44 81 81 00 FF 01 40 00 01 01 41 00
|
||||
-1 * 14 02 05 45 81 81 00 FF 01 42 00 01 01 43 00
|
||||
-1 * 14 02 05 46 81 80 00 FF 01 44 00 00 00 45 00
|
||||
-1 * 6 07 83 01 \7! 02 01
|
||||
-1 * 7 03 05 01 06 00 46 00
|
BIN
media/extra_grf/rivers/tropic_desert.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
media/extra_grf/rivers/tropic_forest.png
Normal file
After Width: | Height: | Size: 15 KiB |
@@ -1,3 +1,81 @@
|
||||
openttd (1.1.4-RC1) unstable; urgency=low
|
||||
|
||||
* New upstream release 1.1.4-RC1
|
||||
|
||||
-- Matthijs Kooijman <matthijs@stdin.nl> Sun, 20 Nov 2011 17:00:00 +0100
|
||||
|
||||
openttd (1.1.3) unstable; urgency=low
|
||||
|
||||
* New upstream release 1.1.3
|
||||
|
||||
-- Matthijs Kooijman <matthijs@stdin.nl> Thu, 15 Sep 2011 21:00:00 +0200
|
||||
|
||||
openttd (1.1.3-RC1) unstable; urgency=low
|
||||
|
||||
* New upstream release 1.1.3-RC1
|
||||
|
||||
-- Matthijs Kooijman <matthijs@stdin.nl> Sun, 04 Sep 2011 17:00:00 +0200
|
||||
|
||||
openttd (1.1.2) unstable; urgency=low
|
||||
|
||||
* New upstream release 1.1.2
|
||||
|
||||
-- Matthijs Kooijman <matthijs@stdin.nl> Sun, 14 Aug 2011 17:00:00 +0200
|
||||
|
||||
openttd (1.1.2~RC2) unstable; urgency=low
|
||||
|
||||
* New upstream release 1.1.2-RC2
|
||||
|
||||
-- Matthijs Kooijman <matthijs@stdin.nl> Sat, 30 Jul 2011 21:00:00 +0200
|
||||
|
||||
openttd (1.1.2~RC1) unstable; urgency=low
|
||||
|
||||
* New upstream release 1.1.2-RC1
|
||||
|
||||
-- Matthijs Kooijman <matthijs@stdin.nl> Sun, 24 Jul 2011 21:00:00 +0200
|
||||
|
||||
openttd (1.1.1) unstable; urgency=low
|
||||
|
||||
* New upstream release 1.1.1
|
||||
|
||||
-- Matthijs Kooijman <matthijs@stdin.nl> Wed, 01 Jun 2011 00:00:00 +0200
|
||||
|
||||
openttd (1.1.1~RC1) unstable; urgency=low
|
||||
|
||||
* New upstream release 1.1.1-RC1
|
||||
|
||||
-- Matthijs Kooijman <matthijs@stdin.nl> Sun, 15 May 2011 21:00:00 +0200
|
||||
|
||||
openttd (1.1.0) unstable; urgency=low
|
||||
|
||||
* New upstream release 1.1.0
|
||||
|
||||
-- Matthijs Kooijman <matthijs@stdin.nl> Fri, 01 Apr 2011 00:00:00 +0100
|
||||
|
||||
openttd (1.1.0~RC3) unstable; urgency=low
|
||||
|
||||
* New upstream release 1.1.0-RC3
|
||||
|
||||
-- Matthijs Kooijman <matthijs@stdin.nl> Fri, 18 Mar 2011 22:00:00 +0100
|
||||
|
||||
openttd (1.1.0~RC2) unstable; urgency=low
|
||||
|
||||
* New upstream release 1.1.0-RC2
|
||||
|
||||
-- Matthijs Kooijman <matthijs@stdin.nl> Fri, 04 Mar 2011 22:00:00 +0100
|
||||
|
||||
openttd (1.1.0~RC1) unstable; urgency=low
|
||||
|
||||
* New upstream release 1.1.0-RC1
|
||||
|
||||
-- Matthijs Kooijman <matthijs@stdin.nl> Fri, 18 Feb 2011 22:00:00 +0100
|
||||
|
||||
openttd (1.1.0~beta5) unstable; urgency=low
|
||||
|
||||
* New upstream release 1.1.0-beta5
|
||||
|
||||
-- Matthijs Kooijman <matthijs@stdin.nl> Fri, 04 Feb 2011 22:00:00 +0100
|
||||
|
||||
openttd (1.1.0~beta4) unstable; urgency=low
|
||||
|
||||
* New upstream release 1.1.0-beta4
|
||||
|
@@ -1,6 +1,6 @@
|
||||
@echo off
|
||||
|
||||
set OPENTTD_VERSION=1.1.0-beta4
|
||||
set OPENTTD_VERSION=1.1.4-RC1
|
||||
set OPENSFX_VERSION=0.8.0
|
||||
set NOSOUND_VERSION=0.8.0
|
||||
set OPENGFX_VERSION=0.7.0
|
||||
|
6
os/rpm/openttd-rpmlintrc
Normal file
@@ -0,0 +1,6 @@
|
||||
# the man page is in the subpackage data
|
||||
addFilter("openttd.*: W: no-manual-page-for-binary openttd")
|
||||
# no other package depends on this package, so this should not matter
|
||||
addFilter("openttd.*: W: file-contains-date-and-time /usr/bin/openttd")
|
||||
addFilter("openttd.*: W: file-contains-current-date /usr/bin/openttd")
|
||||
|
100
os/rpm/openttd.changes
Normal file
@@ -0,0 +1,100 @@
|
||||
-------------------------------------------------------------------
|
||||
Sun Mar 6 09:36:55 UTC 2011 - ammler@openttdcoop.org
|
||||
|
||||
- upstream update 1.1.0-RC2
|
||||
* Feature: XZ/LZMA2 savegame support. New default reduces
|
||||
savegame size by 10 to 30% with slightly more CPU usage.
|
||||
(requires xz-devel)
|
||||
* Feature: Remote administration
|
||||
* Feature: a lot improvements with GUI
|
||||
* Feature: Customizable hotkeys
|
||||
* Sources for openttd.grf are pngs (requires grfcodec >= 5.1)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Nov 21 11:11:38 UTC 2010 - ammler@openttdcoop.org
|
||||
|
||||
- upstream update 1.0.5
|
||||
* Fix: Reading (very) recently freed memory [CVE-2010-4168]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Oct 31 17:53:41 UTC 2010 - ammler@openttdcoop.org
|
||||
|
||||
- upstream update 1.0.4
|
||||
* build openttd.grf from source
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Aug 10 20:16:03 UTC 2010 - ammler@openttdcoop.org
|
||||
|
||||
- upstream update 1.0.3
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 23 11:42:59 UTC 2010 - Marcel Gmür <ammler@openttdcoop.org>
|
||||
|
||||
- upstream update 1.0.2
|
||||
* Feature: Translated desktop shortcut comments (r19884)
|
||||
* many minor Bugfixes
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat May 1 15:59:32 UTC 2010 - Marcel Gmür <ammler@openttdcoop.org>
|
||||
|
||||
- upstream update 1.0.1
|
||||
* Fix: Leaking a file descriptor
|
||||
* Fix a lot small bugs, like minor desync issues on Mulitplayer
|
||||
- no strip on make
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 1 08:53:54 UTC 2010 - Marcel Gmür <ammler@openttdcoop.org>
|
||||
|
||||
- upstream update 1.0.0 (finally!)
|
||||
* completely independend game but still working also
|
||||
with ttd original gaphics, sounds and music
|
||||
- Add: Recommends openmsx
|
||||
- requires lzo2
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Dec 18 2009 Marcel Gmür <ammler@openttdcoop.org> - 0.7.4
|
||||
|
||||
- support for differen branches
|
||||
- easy support for dedicated branch
|
||||
- let openttd build system make the dektop file
|
||||
- split the package to data and gui
|
||||
- disable requires
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Oct 01 2009 Marcel Gmür <ammler@openttdcoop.org> - 0.7.3
|
||||
|
||||
- disable libicu for RHEL4
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Sep 26 2009 Marcel Gmür <ammler@openttdcoop.org> - 0.7.2
|
||||
|
||||
- no subfolder games for datadir
|
||||
- cleanup: no post and postun anymore
|
||||
- Recommends: opengfx (for suse and mandriva)
|
||||
- add SUSE support
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Oct 20 2008 Benedikt Brüggemeier <skidd13@openttd.org>
|
||||
|
||||
- Added libicu dependency
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Sep 23 2008 Benedikt Brüggemeier <skidd13@openttd.org>
|
||||
|
||||
- Merged both versions of the spec file
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Aug 29 2008 Jonathan Coome <maedhros@openttd.org>
|
||||
|
||||
- Rewrite spec file from scratch.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Aug 02 2008 Benedikt Brüggemeier <skidd13@openttd.org>
|
||||
|
||||
- Updated spec file
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 27 2008 Denis Burlaka <burlaka@yandex.ru>
|
||||
|
||||
- Universal spec file
|
||||
|
@@ -1,202 +1,199 @@
|
||||
# $Id$
|
||||
#-------------------------------------------------------------------------------
|
||||
# spec file for the openttd rpm package
|
||||
#
|
||||
# Copyright (c) 2007-2011 The OpenTTD developers
|
||||
#
|
||||
# This file and all modifications and additions to the pristine
|
||||
# package are under the same license as the package itself
|
||||
#
|
||||
# Note: for (at least) CentOS '#' comments end '\' continue command on new line.
|
||||
# So place all '#' commented parameters of e.g. configure to the end.
|
||||
#
|
||||
#-------------------------------------------------------------------------------
|
||||
%define dedicated 0
|
||||
|
||||
Name: openttd
|
||||
Version: 1.1.0
|
||||
Release: 1%{?dist}
|
||||
%define binname openttd
|
||||
|
||||
Group: Amusements/Games
|
||||
License: GPLv2
|
||||
URL: http://www.openttd.org
|
||||
Summary: OpenTTD is an Open Source clone of Chris Sawyer's Transport Tycoon Deluxe
|
||||
%define srcver 1.1.4
|
||||
|
||||
Source: %{name}-%{version}-source.tar.bz2
|
||||
%if %{dedicated}
|
||||
Name: %{binname}-dedicated
|
||||
%else
|
||||
Name: %{binname}
|
||||
%endif
|
||||
Version: %{srcver}
|
||||
Release: 1%{?dist}
|
||||
Group: Amusements/Games/Strategy/Other
|
||||
License: GPLv2
|
||||
URL: http://www.openttd.org
|
||||
Summary: An open source clone of Chris Sawyer's Transport Tycoon Deluxe
|
||||
|
||||
Source: openttd%{?branch:-%{branch}}-%{srcver}-source.tar.bz2
|
||||
|
||||
# the main package works with the exact same data package version only
|
||||
Requires: %{binname}-data = %{version}
|
||||
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: libpng-devel
|
||||
BuildRequires: zlib-devel
|
||||
|
||||
%if 0%{?mdkversion}
|
||||
BuildRequires: liblzo-devel
|
||||
BuildRequires: liblzma-devel
|
||||
%else
|
||||
BuildRequires: lzo-devel
|
||||
BuildRequires: xz-devel
|
||||
%endif
|
||||
|
||||
#needed by libdrm
|
||||
%if 0%{?rhel_version} >= 600
|
||||
BuildRequires: kernel
|
||||
%endif
|
||||
|
||||
# for lzma detection
|
||||
%if 0%{?suse_version}
|
||||
BuildRequires: pkg-config
|
||||
%endif
|
||||
|
||||
# Desktop specific tags, not needed for dedicated
|
||||
%if !%{dedicated}
|
||||
BuildRequires: fontconfig-devel
|
||||
BuildRequires: SDL-devel
|
||||
|
||||
BuildRequires: grfcodec
|
||||
|
||||
Requires: fontconfig
|
||||
Requires: SDL
|
||||
Requires: zlib
|
||||
Requires: xz-devel
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: fontconfig-devel
|
||||
BuildRequires: libpng-devel
|
||||
BuildRequires: libicu-devel
|
||||
BuildRequires: SDL-devel
|
||||
BuildRequires: zlib-devel
|
||||
# vendor specific dependencies
|
||||
%if %{_vendor}=="alt"
|
||||
Requires: freetype
|
||||
BuildRequires: freetype-devel
|
||||
%endif
|
||||
%if %{_vendor}=="redhat" || %{_vendor}=="fedora"
|
||||
Requires: freetype
|
||||
BuildRequires: freetype-devel
|
||||
BuildRequires: desktop-file-utils
|
||||
%endif
|
||||
%if %{_vendor}=="suse" || %{_vendor}=="mandriva"
|
||||
Requires: freetype2
|
||||
BuildRequires: freetype2-devel
|
||||
%endif
|
||||
%if %{_vendor}=="suse"
|
||||
BuildRequires: update-desktop-files
|
||||
%if !0%{?rhel_version}
|
||||
BuildRequires: libicu-devel
|
||||
%endif
|
||||
%if 0%{?rhel_version} || 0%{?fedora}
|
||||
BuildRequires: freetype-devel
|
||||
%endif
|
||||
%if 0%{?suse_version} || 0%{?mdkversion}
|
||||
BuildRequires: freetype2-devel
|
||||
%endif
|
||||
%if 0%{?suse_version}
|
||||
BuildRequires: update-desktop-files
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if %{dedicated}
|
||||
Conflicts: %{binname} %{binname}-gui
|
||||
%else
|
||||
Provides: %{binname}-gui
|
||||
Conflicts: %{binname}-dedicated
|
||||
Requires: openttd-opensfx
|
||||
# recommends works for suse (not sles9) and mandriva, only
|
||||
%if 0%{?suse_version} > 910 || %{_vendor}=="mandriva"
|
||||
Recommends: opengfx
|
||||
# for 0.8.0
|
||||
#Recommends: opensfx
|
||||
%if 0%{?suse_version} || 0%{?mdkversion}
|
||||
# require timidity is part of openmsx
|
||||
Recommends: openttd-openmsx
|
||||
%endif
|
||||
%endif
|
||||
# Recommends would fit better but not well supported...
|
||||
Requires: openttd-opengfx >= 0.3.2
|
||||
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
|
||||
|
||||
%description
|
||||
OpenTTD is a reimplementation of the Microprose game "Transport Tycoon Deluxe"
|
||||
with lots of new features and enhancements. To play the game you need either
|
||||
the original data from the game or install the recommend package OpenGFX.
|
||||
the original data from the game or install the recommend subackages OpenGFX for
|
||||
free graphics, OpenSFX for free sounds and OpenMSX for free music.
|
||||
|
||||
OpenTTD is licensed under the GNU General Public License version 2.0. For more
|
||||
information, see the file 'COPYING' included with every release and source
|
||||
download of the game.
|
||||
|
||||
# the subpackage data needs only to build once, the dedicated version
|
||||
# can reuse the data package of the gui package
|
||||
%if !%{dedicated}
|
||||
%package data
|
||||
Summary: Data package for OpenTTD
|
||||
Group: Amusements/Games/Strategy/Other
|
||||
%if 0%{?suse_version} >= 1120 || 0%{?fedora} || 0%{?mdkversion}
|
||||
BuildArch: noarch
|
||||
%endif
|
||||
BuildRequires: grfcodec
|
||||
|
||||
%description data
|
||||
OpenTTD is a reimplementation of the Microprose game "Transport Tycoon Deluxe"
|
||||
with lots of new features and enhancements. To play the game you need either
|
||||
the original data from the game or the required package OpenGFX and OpenSFX.
|
||||
|
||||
This package is required by openttd gui and openttd dedicated package. This
|
||||
way it is possible to install a openttd version without SDL requirement.
|
||||
|
||||
%endif
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%setup -qn openttd%{?branch:-%{branch}}-%{srcver}
|
||||
|
||||
# we build the grfs from sources but validate the result with the existing data
|
||||
md5sum bin/data/* > validate.data
|
||||
|
||||
%build
|
||||
# suse sle <10 has no support for makedepend
|
||||
%if 0%{?sles_version} == 9 || 0%{?sles_version} == 10
|
||||
%define do_makedepend 0
|
||||
%else
|
||||
%define do_makedepend 1
|
||||
%endif
|
||||
./configure \
|
||||
--prefix-dir="%{_prefix}" \
|
||||
--binary-name="%{name}" \
|
||||
--enable-strip \
|
||||
--binary-dir="bin" \
|
||||
--data-dir="share/%{name}" \
|
||||
--with-makedepend="%{do_makedepend}" \
|
||||
# --revision="%{ver}%{?prever:-%{prever}}" \
|
||||
# --enable-debug=0 \
|
||||
# --with-sdl \
|
||||
# --with-zlib \
|
||||
# --with-png \
|
||||
# --with-freetype \
|
||||
# --with-fontconfig \
|
||||
# --with-icu \
|
||||
# --menu_group="Game;" \
|
||||
# --menu-name="OpenTTD" \
|
||||
# --doc-dir="share\doc\%{name}" \
|
||||
# --icon-dir="share/pixmaps" \
|
||||
# --icon-theme-dir="share/icons/hicolor" \
|
||||
# --man-dir="share/man/man6" \
|
||||
# --menu-dir="share/applications"
|
||||
--prefix-dir="%{_prefix}" \
|
||||
--binary-name="%{binname}" \
|
||||
--binary-dir="bin" \
|
||||
--data-dir="share/%{binname}" \
|
||||
--doc-dir="share/doc/%{binname}" \
|
||||
--menu-name="OpenTTD%{?branch: %{branch}}" \
|
||||
--menu-group="Game;StrategyGame;" \
|
||||
--enable-dedicated="%{dedicated}" \
|
||||
|
||||
make %{?_smp_mflags}
|
||||
|
||||
%install
|
||||
%if %{dedicated}
|
||||
# dedicated package needs binary only
|
||||
install -D -m0755 bin/openttd %{buildroot}/%{_bindir}/%{binname}
|
||||
%else
|
||||
make install INSTALL_DIR="%{buildroot}"
|
||||
|
||||
# Validate menu entrys (vendor specific)
|
||||
%if %{_vendor} == "redhat" || %{_vendor}=="fedora"
|
||||
desktop-file-install \
|
||||
--vendor="%{_vendor}" \
|
||||
--remove-key Version \
|
||||
--dir="%{buildroot}/%{_datadir}/applications/" \
|
||||
"%{buildroot}/%{_datadir}/applications/%{name}.desktop" \
|
||||
# --delete-original
|
||||
%endif
|
||||
%if %{_vendor}=="suse"
|
||||
%__cat > %{name}.desktop << EOF
|
||||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
Name=OpenTTD
|
||||
Comment=OpenTTD - A clone of the Microprose game 'Transport Tycoon Deluxe'
|
||||
GenericName=OpenTTD
|
||||
Type=Application
|
||||
Terminal=false
|
||||
Exec=%{name}
|
||||
Icon=%{name}
|
||||
Categories=Game;StrategyGame;
|
||||
EOF
|
||||
%suse_update_desktop_file -i %{name} Game StrategyGame
|
||||
%if 0%{?suse_version}
|
||||
%suse_update_desktop_file -r %{binname} Game StrategyGame
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%clean
|
||||
#rm -rf "%{buildroot}"
|
||||
rm -rf "%{buildroot}"
|
||||
|
||||
%post
|
||||
# Update the icon cache (vendor specific)
|
||||
%if %{_vendor}=="mandriva"
|
||||
%update_icon_cache hicolor
|
||||
%endif
|
||||
|
||||
%if %{_vendor} == "redhat" || %{_vendor}=="fedora"
|
||||
touch --no-create %{_datadir}/icons/hicolor
|
||||
if [ -x %{_bindir}/gtk-update-icon-cache ]; then
|
||||
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
|
||||
fi
|
||||
%endif
|
||||
|
||||
%postun
|
||||
# Update the icon cache (vendor specific)
|
||||
%if %{_vendor}=="mandriva"
|
||||
%update_icon_cache hicolor
|
||||
%endif
|
||||
|
||||
%if %{_vendor} == "redhat" || %{_vendor}=="fedora"
|
||||
touch --no-create %{_datadir}/icons/hicolor
|
||||
if [ -x %{_bindir}/gtk-update-icon-cache ]; then
|
||||
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
|
||||
fi
|
||||
%endif
|
||||
%check
|
||||
md5sum -c validate.data
|
||||
|
||||
%files
|
||||
%defattr(-, root, games, -)
|
||||
%dir %{_datadir}/doc/%{name}
|
||||
%dir %{_datadir}/%{name}
|
||||
%dir %{_datadir}/%{name}/lang
|
||||
%dir %{_datadir}/%{name}/data
|
||||
%dir %{_datadir}/%{name}/gm
|
||||
%dir %{_datadir}/%{name}/scripts
|
||||
%attr(755, root, games) %{_bindir}/%{name}
|
||||
%{_datadir}/doc/%{name}/*
|
||||
%{_datadir}/%{name}/lang/*
|
||||
%{_datadir}/%{name}/data/*
|
||||
%{_datadir}/%{name}/scripts/*
|
||||
%{_datadir}/applications/*%{name}.desktop
|
||||
%{_datadir}/pixmaps/*
|
||||
%{_datadir}/icons/*
|
||||
%doc %{_mandir}/man6/%{name}.6.*
|
||||
%attr(755, root, root) %{_bindir}/%{binname}
|
||||
|
||||
# all other files are for the gui version only, also no
|
||||
# subpackage needed for the dedicated version
|
||||
%if !%{dedicated}
|
||||
%defattr(-, root, root)
|
||||
%dir %{_datadir}/icons/hicolor
|
||||
%dir %{_datadir}/icons/hicolor/16x16
|
||||
%dir %{_datadir}/icons/hicolor/16x16/apps
|
||||
%dir %{_datadir}/icons/hicolor/32x32
|
||||
%dir %{_datadir}/icons/hicolor/32x32/apps
|
||||
%dir %{_datadir}/icons/hicolor/48x48
|
||||
%dir %{_datadir}/icons/hicolor/48x48/apps
|
||||
%dir %{_datadir}/icons/hicolor/64x64
|
||||
%dir %{_datadir}/icons/hicolor/64x64/apps
|
||||
%dir %{_datadir}/icons/hicolor/128x128
|
||||
%dir %{_datadir}/icons/hicolor/128x128/apps
|
||||
%dir %{_datadir}/icons/hicolor/256x256
|
||||
%dir %{_datadir}/icons/hicolor/256x256/apps
|
||||
%{_datadir}/applications/%{binname}.desktop
|
||||
%{_datadir}/icons/hicolor/16x16/apps/%{binname}.png
|
||||
%{_datadir}/icons/hicolor/32x32/apps/%{binname}.png
|
||||
%{_datadir}/icons/hicolor/48x48/apps/%{binname}.png
|
||||
%{_datadir}/icons/hicolor/64x64/apps/%{binname}.png
|
||||
%{_datadir}/icons/hicolor/128x128/apps/%{binname}.png
|
||||
%{_datadir}/icons/hicolor/256x256/apps/%{binname}.png
|
||||
%{_datadir}/pixmaps/%{binname}.32.xpm
|
||||
|
||||
%files data
|
||||
%defattr(-, root, root)
|
||||
%dir %{_datadir}/doc/%{binname}
|
||||
%dir %{_datadir}/%{binname}
|
||||
%dir %{_datadir}/%{binname}/lang
|
||||
%dir %{_datadir}/%{binname}/data
|
||||
%dir %{_datadir}/%{binname}/gm
|
||||
%dir %{_datadir}/%{binname}/scripts
|
||||
%dir %{_datadir}/%{binname}/ai
|
||||
%{_datadir}/doc/%{binname}/*
|
||||
%{_datadir}/%{binname}/lang/*
|
||||
%{_datadir}/%{binname}/data/*
|
||||
%{_datadir}/%{binname}/scripts/*
|
||||
%{_datadir}/%{binname}/ai/*
|
||||
%{_datadir}/%{binname}/gm/*
|
||||
%doc %{_mandir}/man6/%{binname}.6.*
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Sat Sep 26 2009 Marcel Gmür <ammler@openttdcoop.org> - 0.7.2
|
||||
- no subfolder games for datadir
|
||||
- cleanup: no post and postun anymore
|
||||
- Recommends: opengfx (for suse and mandriva)
|
||||
- add SUSE support
|
||||
|
||||
* Mon Oct 20 2008 Benedikt Brüggemeier <skidd13@openttd.org>
|
||||
- Added libicu dependency
|
||||
|
||||
* Thu Sep 23 2008 Benedikt Brüggemeier <skidd13@openttd.org>
|
||||
- Merged both versions of the spec file
|
||||
|
||||
* Fri Aug 29 2008 Jonathan Coome <maedhros@openttd.org>
|
||||
- Rewrite spec file from scratch.
|
||||
|
||||
* Sat Aug 02 2008 Benedikt Brüggemeier <skidd13@openttd.org>
|
||||
- Updated spec file
|
||||
|
||||
* Thu Mar 27 2008 Denis Burlaka <burlaka@yandex.ru>
|
||||
- Universal spec file
|
||||
|
@@ -1,9 +1,9 @@
|
||||
# Version numbers to update
|
||||
!define APPV_MAJOR 1
|
||||
!define APPV_MINOR 1
|
||||
!define APPV_MAINT 0
|
||||
!define APPV_BUILD 3
|
||||
!define APPV_EXTRA "-beta4"
|
||||
!define APPV_MAINT 4
|
||||
!define APPV_BUILD 0
|
||||
!define APPV_EXTRA "-RC1"
|
||||
|
||||
!define APPNAME "OpenTTD" ; Define application name
|
||||
!define APPVERSION "${APPV_MAJOR}.${APPV_MINOR}.${APPV_MAINT}${APPV_EXTRA}" ; Define application version
|
||||
@@ -57,6 +57,7 @@ Var CDDRIVE
|
||||
; Modern interface settings
|
||||
!include "MUI2.nsh"
|
||||
!include "InstallOptions.nsh"
|
||||
!include "WinVer.nsh"
|
||||
|
||||
!define MUI_ABORTWARNING
|
||||
!define MUI_WELCOMEPAGE_TITLE_3LINES
|
||||
@@ -518,17 +519,17 @@ hasCD:
|
||||
FunctionEnd
|
||||
|
||||
;-------------------------------------------------------------------------------
|
||||
; Determine windows version, returns "win9x" if Win9x/Me or "winnt" on the stack
|
||||
; Determine windows version, returns "win9x" if Win9x/Me/2000/XP SP2- or "winnt" for the rest on the stack
|
||||
Function GetWindowsVersion
|
||||
ClearErrors
|
||||
StrCpy $R0 "winnt"
|
||||
|
||||
GetVersion::WindowsPlatformId
|
||||
Pop $R0
|
||||
IntCmp $R0 2 WinNT 0
|
||||
StrCpy $R0 "win9x"
|
||||
WinNT:
|
||||
ClearErrors
|
||||
${If} ${IsNT}
|
||||
${If} ${IsWinXP}
|
||||
${AndIf} ${AtLeastServicePack} 3
|
||||
${OrIf} ${AtLeastWin2003}
|
||||
StrCpy $R0 "winnt"
|
||||
${EndIf}
|
||||
${EndIf}
|
||||
Push $R0
|
||||
FunctionEnd
|
||||
|
||||
@@ -540,12 +541,12 @@ Function CheckProcessorArchitecture
|
||||
IntCmp $R0 64 Win64 0
|
||||
ClearErrors
|
||||
IntCmp ${APPBITS} 64 0 Done
|
||||
MessageBox MB_OKCANCEL|MB_ICONSTOP "You are trying to install the 64-bit OpenTTD on a 32-bit operating system. This is not going to work. Please download the correct version. Do you really want to continue?" IDOK Done IDCANCEL Abort
|
||||
MessageBox MB_YESNO|MB_ICONSTOP "You are trying to install the 64-bit OpenTTD on a 32-bit operating system. This is not going to work. Please download the correct version. Do you really want to continue?" IDYES Done IDNO Abort
|
||||
GoTo Done
|
||||
Win64:
|
||||
ClearErrors
|
||||
IntCmp ${APPBITS} 64 Done 0
|
||||
MessageBox MB_OKCANCEL|MB_ICONINFORMATION "You are trying to install the 32-bit OpenTTD on a 64-bit operating system. This is not advised, but will work with reduced capabilities. We suggest that you download the correct version. Do you really want to continue?" IDOK Done IDCANCEL Abort
|
||||
MessageBox MB_YESNO|MB_ICONINFORMATION "You are trying to install the 32-bit OpenTTD on a 64-bit operating system. This is not advised, but will work with reduced capabilities. We suggest that you download the correct version. Do you really want to continue?" IDYES Done IDNO Abort
|
||||
GoTo Done
|
||||
Abort:
|
||||
Quit
|
||||
@@ -560,12 +561,12 @@ Function CheckWindowsVersion
|
||||
StrCmp $R0 "win9x" 0 WinNT
|
||||
ClearErrors
|
||||
StrCmp ${APPARCH} "win9x" Done 0
|
||||
MessageBox MB_OKCANCEL|MB_ICONSTOP "You are trying to install the Windows 2000, XP and Vista version on Windows 95, 98 or ME. This is will not work. Please download the correct version. Do you really want to continue?" IDOK Done IDCANCEL Abort
|
||||
MessageBox MB_YESNO|MB_ICONSTOP "You are trying to install the Windows XP SP3, Vista and 7 version on Windows 95, 98, ME, 2000 and XP without SP3. This is will not work. Please download the correct version. Do you really want to continue?" IDYES Done IDNO Abort
|
||||
GoTo Done
|
||||
WinNT:
|
||||
ClearErrors
|
||||
StrCmp ${APPARCH} "win9x" 0 Done
|
||||
MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION "You are trying to install the Windows 95, 98 and ME version on Windows 2000, XP or Vista. This is not advised, but will work with reduced capabilities. We suggest that you download the correct version. Do you really want to continue?" IDOK Done IDCANCEL Abort
|
||||
MessageBox MB_YESNO|MB_ICONEXCLAMATION "You are trying to install the Windows 95, 98, 2000 and XP without SP3 version on Windows XP SP3, Vista or 7. This is not advised, but will work with reduced capabilities. We suggest that you download the correct version. Do you really want to continue?" IDYES Done IDNO Abort
|
||||
Abort:
|
||||
Quit
|
||||
Done:
|
||||
@@ -674,8 +675,7 @@ WelcomeToSetup:
|
||||
ReadRegStr $OLDVERSION HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "DisplayVersion"
|
||||
; Gets the older version then displays it in a message box
|
||||
MessageBox MB_OK|MB_ICONINFORMATION \
|
||||
"Welcome to ${APPNAMEANDVERSION} Setup.$\n \
|
||||
This will allow you to upgrade from version $OLDVERSION."
|
||||
"Welcome to ${APPNAMEANDVERSION} Setup.$\nThis will allow you to upgrade from version $OLDVERSION."
|
||||
SectionSetFlags ${Section2} 0x80 ; set bit 7
|
||||
SectionSetFlags ${Section3} 0x80 ; set bit 7
|
||||
SectionSetFlags ${Section4} 0x80 ; set bit 7
|
||||
@@ -686,8 +686,7 @@ VersionsAreEqual:
|
||||
ReadRegStr $UninstallString HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "UninstallString"
|
||||
IfFileExists "$UninstallString" "" FinishCallback
|
||||
MessageBox MB_YESNO|MB_ICONQUESTION \
|
||||
"Setup detected ${APPNAMEANDVERSION} on your system. This is the same version that this program will install.$\n \
|
||||
Are you trying to uninstall it?" \
|
||||
"Setup detected ${APPNAMEANDVERSION} on your system. This is the same version that this program will install.$\nAre you trying to uninstall it?" \
|
||||
IDYES DoUninstall IDNO FinishCallback
|
||||
DoUninstall: ; You have the same version as this installer. This allows you to uninstall.
|
||||
Exec "$UninstallString"
|
||||
@@ -695,8 +694,7 @@ DoUninstall: ; You have the same version as this installer. This allows you to
|
||||
|
||||
InstallerIsOlder:
|
||||
MessageBox MB_OK|MB_ICONSTOP \
|
||||
"You have a newer version of ${APPNAME}.$\n \
|
||||
Setup will now exit."
|
||||
"You have a newer version of ${APPNAME}.$\nSetup will now exit."
|
||||
Quit
|
||||
|
||||
FinishCallback:
|
||||
|
@@ -1,5 +1,5 @@
|
||||
!define APPBITS 32 ; Define number of bits for the architecture
|
||||
!define EXTRA_VERSION "2000, XP, Vista and 7"
|
||||
!define EXTRA_VERSION "XP SP3, Vista and 7"
|
||||
!define APPARCH "win32" ; Define the application architecture
|
||||
!define BINARY_DIR "${PATH_ROOT}objs\win32\Release"
|
||||
InstallDir "$PROGRAMFILES32\OpenTTD\"
|
||||
|
@@ -1,5 +1,5 @@
|
||||
!define APPBITS 32 ; Define number of bits for the architecture
|
||||
!define EXTRA_VERSION "95, 98 and ME"
|
||||
!define EXTRA_VERSION "95, 98, ME, 2000 and XP without SP3"
|
||||
!define APPARCH "win9x" ; Define the application architecture
|
||||
!define BINARY_DIR "${PATH_ROOT}bin"
|
||||
InstallDir "$PROGRAMFILES32\OpenTTD\"
|
||||
|
@@ -227,6 +227,9 @@ Function DetermineSVNVersion()
|
||||
Loop
|
||||
If oExec.ExitCode = 0 Then
|
||||
version = oExec.StdOut.ReadLine()
|
||||
If Right(version, 2) = "^0" Then
|
||||
version = Left(version, Len(version) - 2)
|
||||
End If
|
||||
branch = ""
|
||||
End If ' oExec.ExitCode = 0
|
||||
End If ' Err.Number = 0
|
||||
|
@@ -388,6 +388,7 @@
|
||||
<ClInclude Include="..\src\cargotype.h" />
|
||||
<ClInclude Include="..\src\cheat_func.h" />
|
||||
<ClInclude Include="..\src\cheat_type.h" />
|
||||
<ClInclude Include="..\src\clear_func.h" />
|
||||
<ClInclude Include="..\src\cmd_helper.h" />
|
||||
<ClInclude Include="..\src\command_func.h" />
|
||||
<ClInclude Include="..\src\command_type.h" />
|
||||
@@ -429,7 +430,6 @@
|
||||
<ClInclude Include="..\src\fileio_type.h" />
|
||||
<ClInclude Include="..\src\fios.h" />
|
||||
<ClInclude Include="..\src\fontcache.h" />
|
||||
<ClInclude Include="..\src\functions.h" />
|
||||
<ClInclude Include="..\src\gamelog.h" />
|
||||
<ClInclude Include="..\src\gamelog_internal.h" />
|
||||
<ClInclude Include="..\src\genworld.h" />
|
||||
@@ -1074,6 +1074,7 @@
|
||||
<ClInclude Include="..\src\pathfinder\yapf\yapf_node.hpp" />
|
||||
<ClInclude Include="..\src\pathfinder\yapf\yapf_node_rail.hpp" />
|
||||
<ClInclude Include="..\src\pathfinder\yapf\yapf_node_road.hpp" />
|
||||
<ClInclude Include="..\src\pathfinder\yapf\yapf_node_ship.hpp" />
|
||||
<ClCompile Include="..\src\pathfinder\yapf\yapf_rail.cpp" />
|
||||
<ClCompile Include="..\src\pathfinder\yapf\yapf_road.cpp" />
|
||||
<ClCompile Include="..\src\pathfinder\yapf\yapf_ship.cpp" />
|
||||
|
@@ -384,6 +384,9 @@
|
||||
<ClInclude Include="..\src\cheat_type.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\clear_func.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\cmd_helper.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
@@ -507,9 +510,6 @@
|
||||
<ClInclude Include="..\src\fontcache.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\functions.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\gamelog.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
@@ -2442,6 +2442,9 @@
|
||||
<ClInclude Include="..\src\pathfinder\yapf\yapf_node_road.hpp">
|
||||
<Filter>YAPF</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\pathfinder\yapf\yapf_node_ship.hpp">
|
||||
<Filter>YAPF</Filter>
|
||||
</ClInclude>
|
||||
<ClCompile Include="..\src\pathfinder\yapf\yapf_rail.cpp">
|
||||
<Filter>YAPF</Filter>
|
||||
</ClCompile>
|
||||
|
@@ -826,6 +826,10 @@
|
||||
RelativePath=".\..\src\cheat_type.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\clear_func.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\cmd_helper.h"
|
||||
>
|
||||
@@ -990,10 +994,6 @@
|
||||
RelativePath=".\..\src\fontcache.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\functions.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\gamelog.h"
|
||||
>
|
||||
@@ -3662,6 +3662,10 @@
|
||||
RelativePath=".\..\src\pathfinder\yapf\yapf_node_road.hpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\pathfinder\yapf\yapf_node_ship.hpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\pathfinder\yapf\yapf_rail.cpp"
|
||||
>
|
||||
|
@@ -823,6 +823,10 @@
|
||||
RelativePath=".\..\src\cheat_type.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\clear_func.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\cmd_helper.h"
|
||||
>
|
||||
@@ -987,10 +991,6 @@
|
||||
RelativePath=".\..\src\fontcache.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\functions.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\gamelog.h"
|
||||
>
|
||||
@@ -3659,6 +3659,10 @@
|
||||
RelativePath=".\..\src\pathfinder\yapf\yapf_node_road.hpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\pathfinder\yapf\yapf_node_ship.hpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\pathfinder\yapf\yapf_rail.cpp"
|
||||
>
|
||||
|
161
readme.txt
@@ -1,6 +1,6 @@
|
||||
OpenTTD readme
|
||||
Last updated: 2011-01-21
|
||||
Release version: 1.1.0-beta4
|
||||
Last updated: 2011-11-20
|
||||
Release version: 1.1.4-RC1
|
||||
------------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -249,9 +249,12 @@ wait for an error message to pop up. The error message will tell you
|
||||
|
||||
4.2) OpenTTD directories
|
||||
---- -------------------
|
||||
The required 3rd party files listed in the section 4.1 "(Required) 3rd party files"
|
||||
as well as other non-compulsory extensions (NewGRFs, AI, heightmaps, scenarios) can be
|
||||
placed in a few different locations:
|
||||
OpenTTD uses its own directory to store its required 3rd party base set files (see section
|
||||
4.1 "Required 3rd party files") and non-compulsory extension and configuration files. See
|
||||
below for their proper place within this OpenTTD main data directory.
|
||||
|
||||
The main OpenTTD directories can be found in various locations, depending on your operating
|
||||
system:
|
||||
1. The current working directory (from where you started OpenTTD)
|
||||
For non-Windows operating systems OpenTTD will not scan for files in this
|
||||
directory if it is your personal directory, i.e. "~/", or when it is the
|
||||
@@ -273,7 +276,26 @@ placed in a few different locations:
|
||||
5. The installation directory (Linux only)
|
||||
Linux: /usr/share/games/openttd
|
||||
6. The application bundle (Mac OSX only)
|
||||
It includes the OpenTTD files (grf+lng) and it will work as long as they aren't touched
|
||||
It includes the OpenTTD files (grf+lng) and it will work as long as they aren't
|
||||
touched
|
||||
|
||||
Different types of data or extensions go into different subdirectories of the chosen main
|
||||
OpenTTD directory:
|
||||
Config File: (no subdirectory)
|
||||
Screenshots: (no subdirectory)
|
||||
Base Graphics: data (or a subdirectory thereof)
|
||||
Sound Sets: data (or a subdirectory thereof)
|
||||
NewGRFs: data (or a subdirectory thereof)
|
||||
32bpp Sets: data (or a subdirectory thereof)
|
||||
Music Sets: gm (or a subdirectory thereof)
|
||||
AIs: ai (or a subdirectory thereof)
|
||||
AI Libraries: ai/libraries (or a subdirectory thereof)
|
||||
Savegames: save
|
||||
Automatic Savegames: save/autosave
|
||||
Scenarios: scenario
|
||||
|
||||
The (automatically created) directory content_download is for OpenTTD's internal use and
|
||||
no files should be added to it or its subdirectories manually.
|
||||
|
||||
Notes:
|
||||
- Linux in the previous list means .deb, but most paths should be similar for others.
|
||||
@@ -357,7 +379,7 @@ OpenTTD in debug mode.
|
||||
The configuration file for OpenTTD (openttd.cfg) is in a simple Windows-like
|
||||
.INI format. It's mostly undocumented. Almost all settings can be changed
|
||||
ingame by using the 'Advanced Settings' window.
|
||||
When you can not find openttd.cfg you should look in the directories as
|
||||
When you cannot find openttd.cfg you should look in the directories as
|
||||
described in section 4.2. If you do not have an openttd.cfg OpenTTD will
|
||||
create one after closing.
|
||||
|
||||
@@ -419,7 +441,8 @@ DOS:
|
||||
---- ---------------------------
|
||||
The following libraries are used by OpenTTD for:
|
||||
- libSDL/liballegro: hardware access (video, sound, mouse)
|
||||
- zlib: (de)compressing of old (0.3.0-1.0.5) savegames, content downloads, heightmaps
|
||||
- zlib: (de)compressing of old (0.3.0-1.0.5) savegames, content downloads,
|
||||
heightmaps
|
||||
- liblzo2: (de)compressing of old (pre 0.3.0) savegames
|
||||
- liblzma: (de)compressing of savegames (1.1.0 and later)
|
||||
- libpng: making screenshots and loading heightmaps
|
||||
@@ -445,9 +468,10 @@ you remove the graphics file using "make maintainer-clean".
|
||||
The following compilers are known to compile OpenTTD:
|
||||
- Microsoft Visual C++ (MSVC) 2005, 2008 and 2010.
|
||||
Version 2005 gives bogus warnings about scoping issues.
|
||||
- GNU Compiler Collection (GCC) 3.3 - 4.6.
|
||||
- GNU Compiler Collection (GCC) 3.3 - 4.7.
|
||||
Versions 4.1 and earlier give bogus warnings about uninitialised variables.
|
||||
Versions 4.4 and later give bogus warnings about freeing heap objects.
|
||||
Versions 4.4 - 4.6 give bogus warnings about freeing non-heap objects.
|
||||
Versions 4.5 and later give invalid warnings when lto is enabled.
|
||||
- Intel C++ Compiler (ICC) 12.0.
|
||||
|
||||
The following compilers are known not to compile OpenTTD:
|
||||
@@ -455,7 +479,8 @@ The following compilers are known not to compile OpenTTD:
|
||||
- GNU Compiler Collection (GCC) 3.2 and earlier.
|
||||
These old versions fail due to OpenTTD's template usage.
|
||||
- Intel C++ Compiler (ICC) 11.1 and earlier.
|
||||
Version 10.0 and earlier fail a configure check and fail with recent system headers.
|
||||
Version 10.0 and earlier fail a configure check and fail with recent system
|
||||
headers.
|
||||
Version 10.1 fails to compile station_gui.cpp.
|
||||
Version 11.1 fails with internal error when compiling network.cpp.
|
||||
- Clang/LLVM 2.8 and earlier.
|
||||
@@ -534,74 +559,84 @@ look at http://wiki.openttd.org/index.php/Command_line.
|
||||
The most frequent problem is missing data files. Please install OpenGFX and
|
||||
possibly OpenSFX and OpenMSX. See section 4.1.1 for more information.
|
||||
|
||||
Under, especially, Ubuntu OpenTTD can be extremely slow and freeze/hand under
|
||||
certain circumstance. See known-bugs.txt for more information and how to
|
||||
solve this problem on your computer.
|
||||
Under certain circumstance, especially on Ubuntu OpenTTD can be extremely slow
|
||||
and/or freeze. See known-bugs.txt for more information and how to solve this
|
||||
problem on your computer.
|
||||
|
||||
Under Windows 98 and lower it is impossible to use a dedicated server; it will
|
||||
fail to start. Perhaps this is for the better because those OSes are not known
|
||||
for their stability.
|
||||
|
||||
With the added support for font-based text selecting a non-latin language will
|
||||
result in garbage (lots of '?') shown on screen. Please open your configuration
|
||||
file and add a desired font for small/medium/-and large_font. This can be a font
|
||||
name like "Tahoma" or a path to a font.
|
||||
With the added support for font-based text selecting a non-latin language can
|
||||
result in lots of question marks ('?') being shown on screen. Please open your
|
||||
configuration file (openttd.cfg - see Section 4.2 for where to find it)
|
||||
and add a suitable font for the small, medium and / or large font, e.g.:
|
||||
small_font = "Tahoma"
|
||||
medium_font = "Tahoma"
|
||||
large_font = "Tahoma"
|
||||
You should use a font name like "Tahoma" or a path to the desired font.
|
||||
|
||||
Any NewGRF file used in a game is stored inside the savegame and will refuse
|
||||
to load if you don't have that NewGRF file available. A list of missing files
|
||||
will be output to the console at the moment, so use the '-d' flag (on windows)
|
||||
to see this list. You just have to find the files (http://grfcrawler.tt-forums.net/)
|
||||
put them in the data/ folder and you're set to go.
|
||||
can be viewed in the NewGRF window accessible from the file load dialogue window.
|
||||
|
||||
You can try to obtain the missing files from that NewGRF dialogue or - if they
|
||||
are not available online - you can search manually through our forum's graphics
|
||||
development section (http://www.tt-forums.net/viewforum.php?f=66) or GrfCrawler
|
||||
(http://grfcrawler.tt-forums.net/). Put the NewGRF files in OpenTTD's data folder
|
||||
(see section 4.2 "OpenTTD directories") and rescan the list of available NewGRFs.
|
||||
Once you have all missing files, you are set to go.
|
||||
|
||||
|
||||
X.X) Credits
|
||||
---- -------
|
||||
The OpenTTD team (in alphabetical order):
|
||||
Albert Hofkamp (Alberth) - GUI expert
|
||||
Jean-François Claeys (Belugas) - GUI, newindustries and more
|
||||
Matthijs Kooijman (blathijs) - Pathfinder-guru, pool rework
|
||||
Christoph Elsenhans (frosch) - General coding
|
||||
Loïc Guilloux (glx) - Windows Expert
|
||||
Michael Lutz (michi_cc) - Path based signals
|
||||
Owen Rudge (orudge) - Forum host, OS/2 port
|
||||
Peter Nelson (peter1138) - Spiritual descendant from newGRF gods
|
||||
Ingo von Borstel (planetmaker) - Support
|
||||
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
|
||||
Albert Hofkamp (Alberth) - GUI expert
|
||||
Jean-François Claeys (Belugas) - GUI, newindustries and more
|
||||
Matthijs Kooijman (blathijs) - Pathfinder-guru, pool rework
|
||||
Christoph Elsenhans (frosch) - General coding
|
||||
Loïc Guilloux (glx) - Windows Expert
|
||||
Michael Lutz (michi_cc) - Path based signals
|
||||
Owen Rudge (orudge) - Forum host, OS/2 port
|
||||
Peter Nelson (peter1138) - Spiritual descendant from newGRF gods
|
||||
Ingo von Borstel (planetmaker) - Support
|
||||
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
|
||||
Attila Bán (MiHaMiX) - WebTranslator 1 and 2
|
||||
Christoph Mallon (Tron) - Programmer, code correctness police
|
||||
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
|
||||
Attila Bán (MiHaMiX) - WebTranslator 1 and 2
|
||||
Christoph Mallon (Tron) - Programmer, code correctness police
|
||||
|
||||
Retired Developers:
|
||||
Ludvig Strigeus (ludde) - OpenTTD author, main coder (0.1 - 0.3.3)
|
||||
Serge Paquet (vurlix) - Assistant project manager, coder (0.1 - 0.3.3)
|
||||
Dominik Scherer (dominik81) - Lead programmer, GUI expert (0.3.0 - 0.3.6)
|
||||
Benedikt Brüggemeier (skidd13) - Bug fixer and code reworker
|
||||
Patric Stout (TrueLight) - Programmer (0.3 - pre0.7), sys op (active)
|
||||
Ludvig Strigeus (ludde) - OpenTTD author, main coder (0.1 - 0.3.3)
|
||||
Serge Paquet (vurlix) - Assistant project manager, coder (0.1 - 0.3.3)
|
||||
Dominik Scherer (dominik81) - Lead programmer, GUI expert (0.3.0 - 0.3.6)
|
||||
Benedikt Brüggemeier (skidd13) - Bug fixer and code reworker
|
||||
Patric Stout (TrueLight) - Programmer (0.3 - pre0.7), sys op (active)
|
||||
|
||||
Thanks to:
|
||||
Josef Drexler - For his great work on TTDPatch.
|
||||
Marcin Grzegorczyk - For his TTDPatch work and documentation of Transport Tycoon Deluxe internals and graphics (signals and track foundations)
|
||||
Petr Baudiš (pasky) - Many patches, newgrf support, etc.
|
||||
Simon Sasburg (HackyKid) - For the many bugfixes he has blessed us with
|
||||
Stefan Meißner (sign_de) - For his work on the console
|
||||
Mike Ragsdale - OpenTTD installer
|
||||
Cian Duffy (MYOB) - BeOS port / manual writing
|
||||
Christian Rosentreter (tokai) - MorphOS / AmigaOS port
|
||||
Richard Kempton (RichK67) - Additional airports, initial TGP implementation
|
||||
Alberto Demichelis - Squirrel scripting language
|
||||
L. Peter Deutsch - MD5 implementation
|
||||
Michael Blunck - For revolutionizing TTD with awesome graphics
|
||||
George - Canal graphics
|
||||
David Dallaston (Pikka) - Tram tracks
|
||||
All Translators - For their support to make OpenTTD a truly international game
|
||||
Bug Reporters - Thanks for all bug reports
|
||||
Chris Sawyer - For an amazing game!
|
||||
Josef Drexler - For his great work on TTDPatch.
|
||||
Marcin Grzegorczyk - For his TTDPatch work and documentation of Transport Tycoon Deluxe internals and graphics (signals and track foundations)
|
||||
Petr Baudiš (pasky) - Many patches, newgrf support, etc.
|
||||
Simon Sasburg (HackyKid) - For the many bugfixes he has blessed us with
|
||||
Stefan Meißner (sign_de) - For his work on the console
|
||||
Mike Ragsdale - OpenTTD installer
|
||||
Cian Duffy (MYOB) - BeOS port / manual writing
|
||||
Christian Rosentreter (tokai) - MorphOS / AmigaOS port
|
||||
Richard Kempton (RichK67) - Additional airports, initial TGP implementation
|
||||
Alberto Demichelis - Squirrel scripting language
|
||||
L. Peter Deutsch - MD5 implementation
|
||||
Michael Blunck - For revolutionizing TTD with awesome graphics
|
||||
George - Canal graphics
|
||||
Andrew Parkhouse (andythenorth) - River graphics
|
||||
David Dallaston (Pikka) - Tram tracks
|
||||
All Translators - For their support to make OpenTTD a truly international game
|
||||
Bug Reporters - Thanks for all bug reports
|
||||
Chris Sawyer - For an amazing game!
|
||||
|
@@ -121,6 +121,7 @@ cargopacket.h
|
||||
cargotype.h
|
||||
cheat_func.h
|
||||
cheat_type.h
|
||||
clear_func.h
|
||||
cmd_helper.h
|
||||
command_func.h
|
||||
command_type.h
|
||||
@@ -162,7 +163,6 @@ fileio_func.h
|
||||
fileio_type.h
|
||||
fios.h
|
||||
fontcache.h
|
||||
functions.h
|
||||
gamelog.h
|
||||
gamelog_internal.h
|
||||
genworld.h
|
||||
@@ -875,6 +875,7 @@ pathfinder/yapf/yapf_destrail.hpp
|
||||
pathfinder/yapf/yapf_node.hpp
|
||||
pathfinder/yapf/yapf_node_rail.hpp
|
||||
pathfinder/yapf/yapf_node_road.hpp
|
||||
pathfinder/yapf/yapf_node_ship.hpp
|
||||
pathfinder/yapf/yapf_rail.cpp
|
||||
pathfinder/yapf/yapf_road.cpp
|
||||
pathfinder/yapf/yapf_ship.cpp
|
||||
|
6
src/3rdparty/squirrel/include/squirrel.h
vendored
@@ -54,6 +54,10 @@ extern "C" {
|
||||
typedef __int64 SQInteger;
|
||||
typedef unsigned __int64 SQUnsignedInteger;
|
||||
typedef unsigned __int64 SQHash; /*should be the same size of a pointer*/
|
||||
#elif defined(_WIN32)
|
||||
typedef long long SQInteger;
|
||||
typedef unsigned long long SQUnsignedInteger;
|
||||
typedef unsigned long long SQHash; /*should be the same size of a pointer*/
|
||||
#else
|
||||
typedef long SQInteger;
|
||||
typedef unsigned long SQUnsignedInteger;
|
||||
@@ -77,6 +81,8 @@ typedef float SQFloat;
|
||||
#if defined(SQUSEDOUBLE) && !defined(_SQ64)
|
||||
#ifdef _MSC_VER
|
||||
typedef __int64 SQRawObjectVal; //must be 64bits
|
||||
#elif defined(_WIN32)
|
||||
typedef long long SQRawObjectVal; //must be 64bits
|
||||
#else
|
||||
typedef long SQRawObjectVal; //must be 64bits
|
||||
#endif
|
||||
|
57
src/3rdparty/squirrel/squirrel/sqbaselib.cpp
vendored
@@ -1,6 +1,9 @@
|
||||
/*
|
||||
see copyright notice in squirrel.h
|
||||
*/
|
||||
/* Needs to be first due to a squirrel header defining type() and type()
|
||||
* being used in some versions of the headers included by algorithm. */
|
||||
#include <algorithm>
|
||||
#include "sqpcheader.h"
|
||||
#include "sqvm.h"
|
||||
#include "sqstring.h"
|
||||
@@ -484,7 +487,7 @@ static SQInteger array_resize(HSQUIRRELVM v)
|
||||
|
||||
|
||||
//QSORT ala Sedgewick
|
||||
bool _qsort_compare(HSQUIRRELVM v,SQObjectPtr &arr,SQObjectPtr &a,SQObjectPtr &b,SQInteger func,SQInteger &ret)
|
||||
bool _qsort_compare(HSQUIRRELVM v,SQObjectPtr &arr,const SQObjectPtr &a,const SQObjectPtr &b,SQInteger func,SQInteger &ret)
|
||||
{
|
||||
if(func < 0) {
|
||||
if(!v->ObjCmp(a,b,ret)) return false;
|
||||
@@ -506,40 +509,26 @@ bool _qsort_compare(HSQUIRRELVM v,SQObjectPtr &arr,SQObjectPtr &a,SQObjectPtr &b
|
||||
}
|
||||
return true;
|
||||
}
|
||||
//QSORT ala Sedgewick
|
||||
bool _qsort(HSQUIRRELVM v,SQObjectPtr &arr, SQInteger l, SQInteger r,SQInteger func)
|
||||
struct qsort_cmp
|
||||
{
|
||||
SQInteger i, j;
|
||||
SQArray *a=_array(arr);
|
||||
SQObjectPtr pivot,t;
|
||||
if( l < r ){
|
||||
pivot = a->_values[l];
|
||||
i = l; j = r+1;
|
||||
while(1){
|
||||
SQInteger ret;
|
||||
do {
|
||||
++i;
|
||||
if(i > r) break;
|
||||
if(!_qsort_compare(v,arr,a->_values[i],pivot,func,ret))
|
||||
return false;
|
||||
} while( ret <= 0);
|
||||
do {
|
||||
--j;
|
||||
if ( j < 0 ) {
|
||||
v->Raise_Error( _SC("Invalid qsort, probably compare function defect") );
|
||||
return false;
|
||||
}
|
||||
if(!_qsort_compare(v,arr,a->_values[j],pivot,func,ret))
|
||||
return false;
|
||||
}
|
||||
while( ret > 0 );
|
||||
if( i >= j ) break;
|
||||
t = a->_values[i]; a->_values[i] = a->_values[j]; a->_values[j] = t;
|
||||
}
|
||||
t = a->_values[l]; a->_values[l] = a->_values[j]; a->_values[j] = t;
|
||||
if(!_qsort( v, arr, l, j-1,func)) return false;
|
||||
if(!_qsort( v, arr, j+1, r,func)) return false;
|
||||
HSQUIRRELVM v;
|
||||
SQInteger func;
|
||||
bool operator() (const SQObjectPtr &a, const SQObjectPtr &b) const
|
||||
{
|
||||
SQInteger res;
|
||||
SQObjectPtr dummy;
|
||||
if (!_qsort_compare(v, dummy, a, b, func, res)) return false;
|
||||
return res < 0;
|
||||
}
|
||||
};
|
||||
|
||||
bool _qsort(HSQUIRRELVM v,SQObjectPtr &arr, SQInteger func)
|
||||
{
|
||||
SQArray *a=_array(arr);
|
||||
qsort_cmp cur_cmp;
|
||||
cur_cmp.v = v;
|
||||
cur_cmp.func = func;
|
||||
std::sort(a->_values._vals, a->_values._vals + a->Size(), cur_cmp);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -550,7 +539,7 @@ static SQInteger array_sort(HSQUIRRELVM v)
|
||||
SQObject &funcobj = stack_get(v,2);
|
||||
if(_array(o)->Size() > 1) {
|
||||
if(type(funcobj) == OT_CLOSURE || type(funcobj) == OT_NATIVECLOSURE) func = 2;
|
||||
if(!_qsort(v, o, 0, _array(o)->Size()-1, func))
|
||||
if(!_qsort(v, o, func))
|
||||
return SQ_ERROR;
|
||||
|
||||
}
|
||||
|
@@ -597,6 +597,7 @@ public:
|
||||
}
|
||||
SQInteger Factor()
|
||||
{
|
||||
_exst._deref = DEREF_NO_DEREF;
|
||||
switch(_token)
|
||||
{
|
||||
case TK_STRING_LITERAL: {
|
||||
|
@@ -125,7 +125,7 @@ public:
|
||||
static int GetStartNextTime();
|
||||
|
||||
/** Wrapper function for AIScanner::GetAIConsoleList */
|
||||
static char *GetConsoleList(char *p, const char *last);
|
||||
static char *GetConsoleList(char *p, const char *last, bool newest_only = false);
|
||||
/** Wrapper function for AIScanner::GetAIConsoleLibraryList */
|
||||
static char *GetConsoleLibraryList(char *p, const char *last);
|
||||
/** Wrapper function for AIScanner::GetAIInfoList */
|
||||
@@ -168,7 +168,7 @@ public:
|
||||
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 char *GetConsoleList(char *p, const char *last, bool newest_only = false) { return p; }
|
||||
static void nop() { }
|
||||
};
|
||||
|
||||
|
@@ -10,7 +10,6 @@
|
||||
/** @file ai_config.cpp Implementation of AIConfig. */
|
||||
|
||||
#include "../stdafx.h"
|
||||
#include "../openttd.h"
|
||||
#include "../settings_type.h"
|
||||
#include "../core/random_func.hpp"
|
||||
#include "ai.hpp"
|
||||
@@ -76,9 +75,9 @@ AIInfo *AIConfig::GetInfo() const
|
||||
return this->info;
|
||||
}
|
||||
|
||||
bool AIConfig::ResetInfo()
|
||||
bool AIConfig::ResetInfo(bool force_exact_match)
|
||||
{
|
||||
this->info = AI::FindInfo(this->name, -1, false);
|
||||
this->info = AI::FindInfo(this->name, force_exact_match ? this->version : -1, force_exact_match);
|
||||
return this->info != NULL;
|
||||
}
|
||||
|
||||
|
@@ -57,10 +57,12 @@ public:
|
||||
/**
|
||||
* When ever the AI Scanner is reloaded, all infos become invalid. This
|
||||
* function tells AIConfig about this.
|
||||
* @param force_exact_match If true try to find the exact same version
|
||||
* as specified. If false any version is ok.
|
||||
* @return \c true if the reset was successful, \c false if the AI was no longer
|
||||
* found.
|
||||
*/
|
||||
bool ResetInfo();
|
||||
bool ResetInfo(bool force_exact_match);
|
||||
|
||||
/**
|
||||
* Get the AIInfo linked to this AIConfig.
|
||||
|
@@ -170,13 +170,24 @@
|
||||
* a random new AI on reload). */
|
||||
for (CompanyID c = COMPANY_FIRST; c < MAX_COMPANIES; c++) {
|
||||
if (_settings_game.ai_config[c] != NULL && _settings_game.ai_config[c]->HasAI()) {
|
||||
if (!_settings_game.ai_config[c]->ResetInfo()) {
|
||||
if (!_settings_game.ai_config[c]->ResetInfo(true)) {
|
||||
DEBUG(ai, 0, "After a reload, the AI by the name '%s' was no longer found, and removed from the list.", _settings_game.ai_config[c]->GetName());
|
||||
_settings_game.ai_config[c]->ChangeAI(NULL);
|
||||
if (Company::IsValidAiID(c)) {
|
||||
/* The code belonging to an already running AI was deleted. We can only do
|
||||
* one thing here to keep everything sane and that is kill the AI. After
|
||||
* killing the offending AI we start a random other one in it's place, just
|
||||
* like what would happen if the AI was missing during loading. */
|
||||
AI::Stop(c);
|
||||
AI::StartNew(c, false);
|
||||
}
|
||||
} else if (Company::IsValidAiID(c)) {
|
||||
/* Update the reference in the Company struct. */
|
||||
Company::Get(c)->ai_info = _settings_game.ai_config[c]->GetInfo();
|
||||
}
|
||||
}
|
||||
if (_settings_newgame.ai_config[c] != NULL && _settings_newgame.ai_config[c]->HasAI()) {
|
||||
if (!_settings_newgame.ai_config[c]->ResetInfo()) {
|
||||
if (!_settings_newgame.ai_config[c]->ResetInfo(false)) {
|
||||
DEBUG(ai, 0, "After a reload, the AI by the name '%s' was no longer found, and removed from the list.", _settings_newgame.ai_config[c]->GetName());
|
||||
_settings_newgame.ai_config[c]->ChangeAI(NULL);
|
||||
}
|
||||
@@ -289,9 +300,9 @@ void CcAI(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2)
|
||||
return DAYS_IN_YEAR;
|
||||
}
|
||||
|
||||
/* static */ char *AI::GetConsoleList(char *p, const char *last)
|
||||
/* static */ char *AI::GetConsoleList(char *p, const char *last, bool newest_only)
|
||||
{
|
||||
return AI::ai_scanner->GetAIConsoleList(p, last);
|
||||
return AI::ai_scanner->GetAIConsoleList(p, last, newest_only);
|
||||
}
|
||||
|
||||
/* static */ char *AI::GetConsoleLibraryList(char *p, const char *last)
|
||||
|
@@ -10,7 +10,6 @@
|
||||
/** @file ai_gui.cpp Window for configuring the AIs */
|
||||
|
||||
#include "../stdafx.h"
|
||||
#include "../openttd.h"
|
||||
#include "../table/sprites.h"
|
||||
#include "../gui.h"
|
||||
#include "../querystring_gui.h"
|
||||
@@ -183,13 +182,20 @@ struct AIListWindow : public Window {
|
||||
nwi->widget_data = (this->vscroll->GetCapacity() << MAT_ROW_START) + (1 << MAT_COL_START);
|
||||
}
|
||||
|
||||
virtual void OnInvalidateData(int data)
|
||||
/**
|
||||
* Some data on this window has become invalid.
|
||||
* @param data Information about the changed data.
|
||||
* @param gui_scope Whether the call is done from GUI scope. You may not do everything when not in GUI scope. See #InvalidateWindowData() for details.
|
||||
*/
|
||||
virtual void OnInvalidateData(int data = 0, bool gui_scope = true)
|
||||
{
|
||||
if (_game_mode == GM_NORMAL && Company::IsValidID(this->slot)) {
|
||||
delete this;
|
||||
return;
|
||||
}
|
||||
|
||||
if (!gui_scope) return;
|
||||
|
||||
this->vscroll->SetCount((int)this->ai_info_list->size() + 1);
|
||||
|
||||
/* selected goes from -1 .. length of ai list - 1. */
|
||||
@@ -368,6 +374,7 @@ struct AISettingsWindow : public Window {
|
||||
/* One of the arrows is clicked (or green/red rect in case of bool value) */
|
||||
if (IsInsideMM(x, 0, 21)) {
|
||||
int new_val = this->ai_config->GetSetting(config_item.name);
|
||||
int old_val = new_val;
|
||||
if (bool_item) {
|
||||
new_val = !new_val;
|
||||
} else if (x >= 10) {
|
||||
@@ -382,18 +389,19 @@ struct AISettingsWindow : public Window {
|
||||
this->clicked_increase = false;
|
||||
}
|
||||
|
||||
this->ai_config->SetSetting(config_item.name, new_val);
|
||||
this->clicked_button = num;
|
||||
this->timeout = 5;
|
||||
if (new_val != old_val) {
|
||||
this->ai_config->SetSetting(config_item.name, new_val);
|
||||
this->clicked_button = num;
|
||||
this->timeout = 5;
|
||||
|
||||
this->CheckDifficultyLevel();
|
||||
this->CheckDifficultyLevel();
|
||||
}
|
||||
} else if (!bool_item) {
|
||||
/* Display a query box so users can enter a custom value. */
|
||||
this->clicked_row = num;
|
||||
SetDParam(0, this->ai_config->GetSetting(config_item.name));
|
||||
ShowQueryString(STR_JUST_INT, STR_CONFIG_SETTING_QUERY_CAPTION, 10, 100, this, CS_NUMERAL, QSF_NONE);
|
||||
}
|
||||
|
||||
this->SetDirty();
|
||||
break;
|
||||
}
|
||||
@@ -438,7 +446,12 @@ struct AISettingsWindow : public Window {
|
||||
}
|
||||
}
|
||||
|
||||
virtual void OnInvalidateData(int data)
|
||||
/**
|
||||
* Some data on this window has become invalid.
|
||||
* @param data Information about the changed data.
|
||||
* @param gui_scope Whether the call is done from GUI scope. You may not do everything when not in GUI scope. See #InvalidateWindowData() for details.
|
||||
*/
|
||||
virtual void OnInvalidateData(int data = 0, bool gui_scope = true)
|
||||
{
|
||||
if (_game_mode == GM_NORMAL && Company::IsValidID(this->slot)) delete this;
|
||||
}
|
||||
@@ -693,12 +706,19 @@ struct AIConfigWindow : public Window {
|
||||
}
|
||||
}
|
||||
|
||||
virtual void OnInvalidateData(int data)
|
||||
/**
|
||||
* Some data on this window has become invalid.
|
||||
* @param data Information about the changed data.
|
||||
* @param gui_scope Whether the call is done from GUI scope. You may not do everything when not in GUI scope. See #InvalidateWindowData() for details.
|
||||
*/
|
||||
virtual void OnInvalidateData(int data = 0, bool gui_scope = true)
|
||||
{
|
||||
if (!IsEditable(this->selected_slot)) {
|
||||
this->selected_slot = INVALID_COMPANY;
|
||||
}
|
||||
|
||||
if (!gui_scope) return;
|
||||
|
||||
this->SetWidgetDisabledState(AIC_WIDGET_DECREASE, GetGameSettings().difficulty.max_no_competitors == 0);
|
||||
this->SetWidgetDisabledState(AIC_WIDGET_INCREASE, GetGameSettings().difficulty.max_no_competitors == MAX_COMPANIES - 1);
|
||||
this->SetWidgetDisabledState(AIC_WIDGET_CHANGE, this->selected_slot == INVALID_COMPANY);
|
||||
@@ -798,9 +818,8 @@ struct AIDebugWindow : public QueryStringBaseWindow {
|
||||
/* Check if the currently selected company is still active. */
|
||||
if (ai_debug_company == INVALID_COMPANY || !Company::IsValidAiID(ai_debug_company)) {
|
||||
if (ai_debug_company != INVALID_COMPANY) {
|
||||
/* Raise and disable the widget for the previous selection. */
|
||||
/* Raise the widget for the previous selection. */
|
||||
this->RaiseWidget(ai_debug_company + AID_WIDGET_COMPANY_BUTTON_START);
|
||||
this->DisableWidget(ai_debug_company + AID_WIDGET_COMPANY_BUTTON_START);
|
||||
|
||||
ai_debug_company = INVALID_COMPANY;
|
||||
}
|
||||
@@ -830,9 +849,6 @@ struct AIDebugWindow : public QueryStringBaseWindow {
|
||||
|
||||
if (this->show_break_box) this->DrawEditBox(AID_WIDGET_BREAK_STR_EDIT_BOX);
|
||||
|
||||
/* If there are no active companies, don't display anything else. */
|
||||
if (ai_debug_company == INVALID_COMPANY) return;
|
||||
|
||||
/* Paint the company icons */
|
||||
for (CompanyID i = COMPANY_FIRST; i < MAX_COMPANIES; i++) {
|
||||
NWidgetCore *button = this->GetWidget<NWidgetCore>(i + AID_WIDGET_COMPANY_BUTTON_START);
|
||||
@@ -863,6 +879,9 @@ struct AIDebugWindow : public QueryStringBaseWindow {
|
||||
DrawCompanyIcon(i, button->pos_x + button->current_x / 2 - 7 + offset, this->GetWidget<NWidgetBase>(AID_WIDGET_COMPANY_BUTTON_START + i)->pos_y + 2 + offset);
|
||||
}
|
||||
|
||||
/* If there are no active companies, don't display anything else. */
|
||||
if (ai_debug_company == INVALID_COMPANY) return;
|
||||
|
||||
Backup<CompanyByte> cur_company(_current_company, ai_debug_company, FILE_LINE);
|
||||
AILog::LogData *log = (AILog::LogData *)AIObject::GetLogPointer();
|
||||
cur_company.Restore();
|
||||
@@ -983,7 +1002,7 @@ struct AIDebugWindow : public QueryStringBaseWindow {
|
||||
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 << 16, 0, CMD_COMPANY_CTRL);
|
||||
DoCommandP(0, 2 | ai_debug_company << 16, CRR_MANUAL, CMD_COMPANY_CTRL);
|
||||
DoCommandP(0, 1 | ai_debug_company << 16, 0, CMD_COMPANY_CTRL);
|
||||
break;
|
||||
|
||||
@@ -1033,11 +1052,16 @@ struct AIDebugWindow : public QueryStringBaseWindow {
|
||||
return state;
|
||||
}
|
||||
|
||||
virtual void OnInvalidateData(int data = 0)
|
||||
/**
|
||||
* Some data on this window has become invalid.
|
||||
* @param data Information about the changed data.
|
||||
* @param gui_scope Whether the call is done from GUI scope. You may not do everything when not in GUI scope. See #InvalidateWindowData() for details.
|
||||
*/
|
||||
virtual void OnInvalidateData(int data = 0, bool gui_scope = true)
|
||||
{
|
||||
if (data == -1 || ai_debug_company == data) this->SetDirty();
|
||||
|
||||
if (data == -2) {
|
||||
if (gui_scope && data == -2) {
|
||||
/* The continue button should be disabled when the game is unpaused and
|
||||
* it was previously paused by the break string ( = a line in the log
|
||||
* was highlighted )*/
|
||||
@@ -1049,8 +1073,9 @@ struct AIDebugWindow : public QueryStringBaseWindow {
|
||||
}
|
||||
}
|
||||
|
||||
/* If the log message is related to the active company tab, check the break string */
|
||||
if (data == ai_debug_company && this->break_check_enabled && !StrEmpty(this->edit_str_buf)) {
|
||||
/* If the log message is related to the active company tab, check the break string.
|
||||
* This needs to be done in gameloop-scope, so the AI is suspended immediately. */
|
||||
if (!gui_scope && data == ai_debug_company && this->break_check_enabled && !StrEmpty(this->edit_str_buf)) {
|
||||
/* Get the log instance of the active company */
|
||||
Backup<CompanyByte> cur_company(_current_company, ai_debug_company, FILE_LINE);
|
||||
AILog::LogData *log = (AILog::LogData *)AIObject::GetLogPointer();
|
||||
|
@@ -15,7 +15,6 @@
|
||||
#include "ai_info.hpp"
|
||||
#include "ai_scanner.hpp"
|
||||
#include "../settings_type.h"
|
||||
#include "../openttd.h"
|
||||
#include "../debug.h"
|
||||
#include "../rev.h"
|
||||
|
||||
|
@@ -74,6 +74,7 @@
|
||||
#include "api/ai_waypointlist.hpp.sq"
|
||||
|
||||
#include "../company_base.h"
|
||||
#include "../company_func.h"
|
||||
#include "../fileio_func.h"
|
||||
|
||||
/** The maximum number of operations for saving or loading the data of an AI. */
|
||||
|
@@ -330,11 +330,12 @@ AIInfo *AIScanner::FindInfo(const char *nameParam, int versionParam, bool force_
|
||||
return info;
|
||||
}
|
||||
|
||||
char *AIScanner::GetAIConsoleList(char *p, const char *last) const
|
||||
char *AIScanner::GetAIConsoleList(char *p, const char *last, bool newest_only) const
|
||||
{
|
||||
p += seprintf(p, last, "List of AIs:\n");
|
||||
AIInfoList::const_iterator it = this->info_list.begin();
|
||||
for (; it != this->info_list.end(); it++) {
|
||||
const AIInfoList &list = newest_only ? this->info_single_list : this->info_list;
|
||||
AIInfoList::const_iterator it = list.begin();
|
||||
for (; it != list.end(); it++) {
|
||||
AIInfo *i = (*it).second;
|
||||
p += seprintf(p, last, "%10s (v%d): %s\n", i->GetName(), i->GetVersion(), i->GetDescription());
|
||||
}
|
||||
|
@@ -12,11 +12,8 @@
|
||||
#ifndef AI_SCANNER_HPP
|
||||
#define AI_SCANNER_HPP
|
||||
|
||||
#include <squirrel.h>
|
||||
#include "../script/script_scanner.hpp"
|
||||
#include "../core/string_compare_type.hpp"
|
||||
#include "ai.hpp"
|
||||
#include <map>
|
||||
|
||||
/**
|
||||
* Class that scans for available AIs.
|
||||
@@ -56,7 +53,7 @@ public:
|
||||
/**
|
||||
* Get the list of available AIs for the console.
|
||||
*/
|
||||
char *GetAIConsoleList(char *p, const char *last) const;
|
||||
char *GetAIConsoleList(char *p, const char *last, bool newest_only) const;
|
||||
|
||||
/**
|
||||
* Get the list of available AI Libraries for the console.
|
||||
|
@@ -12,12 +12,7 @@
|
||||
#ifndef AI_STORAGE_HPP
|
||||
#define AI_STORAGE_HPP
|
||||
|
||||
#include "../command_func.h"
|
||||
#include "../map_func.h"
|
||||
#include "../network/network.h"
|
||||
#include "../company_func.h"
|
||||
#include "../signs_func.h"
|
||||
#include "../tunnelbridge.h"
|
||||
#include "../vehicle_func.h"
|
||||
#include "../road_type.h"
|
||||
#include "../group.h"
|
||||
|
@@ -206,7 +206,7 @@ EXPAND_ONLY_PREDEF = YES
|
||||
SEARCH_INCLUDES = YES
|
||||
INCLUDE_PATH =
|
||||
INCLUDE_FILE_PATTERNS =
|
||||
PREDEFINED = DOXYGEN_SKIP
|
||||
PREDEFINED = DOXYGEN_AI_DOCS
|
||||
EXPAND_AS_DEFINED = DEF_COMMAND
|
||||
SKIP_FUNCTION_MACROS = YES
|
||||
#---------------------------------------------------------------------------
|
||||
|
@@ -9,6 +9,7 @@
|
||||
|
||||
/** @file ai_accounting.cpp Implementation of AIAccounting. */
|
||||
|
||||
#include "../../stdafx.h"
|
||||
#include "ai_accounting.hpp"
|
||||
|
||||
Money AIAccounting::GetCosts()
|
||||
|
@@ -9,6 +9,7 @@
|
||||
|
||||
/** @file ai_airport.cpp Implementation of AIAirport. */
|
||||
|
||||
#include "../../stdafx.h"
|
||||
#include "ai_airport.hpp"
|
||||
#include "ai_station.hpp"
|
||||
#include "../../station_base.h"
|
||||
@@ -130,7 +131,7 @@
|
||||
extern uint8 GetAirportNoiseLevelForTown(const AirportSpec *as, TileIndex town_tile, TileIndex tile);
|
||||
|
||||
if (!::IsValidTile(tile)) return -1;
|
||||
if (!IsValidAirportType(type)) return -1;
|
||||
if (!IsAirportInformationAvailable(type)) return -1;
|
||||
|
||||
if (_settings_game.economy.station_noise_level) {
|
||||
const AirportSpec *as = ::AirportSpec::Get(type);
|
||||
|
@@ -180,6 +180,7 @@ public:
|
||||
* built at this tile.
|
||||
* @param tile The tile to check.
|
||||
* @param type The AirportType to check.
|
||||
* @pre IsAirportInformationAvailable(type).
|
||||
* @return The amount of noise added to the nearest town.
|
||||
* @note The noise will be added to the town with TownID GetNearestTown(tile, type).
|
||||
*/
|
||||
|
@@ -9,6 +9,7 @@
|
||||
|
||||
/** @file ai_base.cpp Implementation of AIBase. */
|
||||
|
||||
#include "../../stdafx.h"
|
||||
#include "ai_base.hpp"
|
||||
#include "../../network/network.h"
|
||||
#include "../../core/random_func.hpp"
|
||||
|
@@ -9,6 +9,7 @@
|
||||
|
||||
/** @file ai_basestation.cpp Implementation of AIBaseStation. */
|
||||
|
||||
#include "../../stdafx.h"
|
||||
#include "ai_basestation.hpp"
|
||||
#include "../../station_base.h"
|
||||
#include "../../string_func.h"
|
||||
|
@@ -12,7 +12,6 @@
|
||||
#ifndef AI_BASESTATION_HPP
|
||||
#define AI_BASESTATION_HPP
|
||||
|
||||
#include "ai_object.hpp"
|
||||
#include "ai_error.hpp"
|
||||
|
||||
/**
|
||||
|
@@ -9,6 +9,7 @@
|
||||
|
||||
/** @file ai_bridge.cpp Implementation of AIBridge. */
|
||||
|
||||
#include "../../stdafx.h"
|
||||
#include "ai_bridge.hpp"
|
||||
#include "ai_rail.hpp"
|
||||
#include "../ai_instance.hpp"
|
||||
@@ -151,9 +152,7 @@ static void _DoCommandReturnBuildBridge1(class AIInstance *instance)
|
||||
{
|
||||
if (!IsValidBridge(bridge_id)) return -1;
|
||||
|
||||
uint max = ::GetBridgeSpec(bridge_id)->max_length;
|
||||
if (max >= MAX_BRIDGE_LENGTH && _settings_game.construction.longbridges) max = MAX_BRIDGE_LENGTH_LONGBRIDGES;
|
||||
return max + 2;
|
||||
return min(::GetBridgeSpec(bridge_id)->max_length, _settings_game.construction.max_bridge_length) + 2;
|
||||
}
|
||||
|
||||
/* static */ int32 AIBridge::GetMinLength(BridgeID bridge_id)
|
||||
|
@@ -12,9 +12,7 @@
|
||||
#ifndef AI_BRIDGE_HPP
|
||||
#define AI_BRIDGE_HPP
|
||||
|
||||
#include "ai_object.hpp"
|
||||
#include "ai_vehicle.hpp"
|
||||
#include "ai_error.hpp"
|
||||
|
||||
/**
|
||||
* Class that handles all bridge related functions.
|
||||
@@ -111,7 +109,7 @@ public:
|
||||
*/
|
||||
static int32 GetMinLength(BridgeID bridge_id);
|
||||
|
||||
#ifndef DOXYGEN_SKIP
|
||||
#ifndef DOXYGEN_AI_DOCS
|
||||
/**
|
||||
* Internal function to help BuildBridge in case of road.
|
||||
*/
|
||||
|
@@ -9,6 +9,7 @@
|
||||
|
||||
/** @file ai_bridgelist.cpp Implementation of AIBridgeList and friends. */
|
||||
|
||||
#include "../../stdafx.h"
|
||||
#include "ai_bridgelist.hpp"
|
||||
#include "ai_bridge.hpp"
|
||||
#include "../../bridge.h"
|
||||
|
@@ -9,6 +9,7 @@
|
||||
|
||||
/** @file ai_cargo.cpp Implementation of AICargo. */
|
||||
|
||||
#include "../../stdafx.h"
|
||||
#include "ai_cargo.hpp"
|
||||
#include "../../cargotype.h"
|
||||
#include "../../economy_func.h"
|
||||
|
@@ -9,6 +9,7 @@
|
||||
|
||||
/** @file ai_cargolist.cpp Implementation of AICargoList and friends. */
|
||||
|
||||
#include "../../stdafx.h"
|
||||
#include "ai_cargolist.hpp"
|
||||
#include "ai_industry.hpp"
|
||||
#include "../../cargotype.h"
|
||||
|
@@ -15,9 +15,24 @@
|
||||
* functions may still be available if you return an older API version
|
||||
* in GetAPIVersion() in info.nut.
|
||||
*
|
||||
* \b 1.1.0
|
||||
* \b 1.1.4
|
||||
*
|
||||
* 1.1.0 is not yet released. The following changes are not set in stone yet.
|
||||
* API additions:
|
||||
* \li AIVehicle::ERR_VEHICLE_TOO_LONG in case vehicle length limit is reached.
|
||||
*
|
||||
* \b 1.1.3
|
||||
*
|
||||
* No changes
|
||||
*
|
||||
* \b 1.1.2
|
||||
*
|
||||
* No changes
|
||||
*
|
||||
* \b 1.1.1
|
||||
*
|
||||
* No changes
|
||||
*
|
||||
* \b 1.1.0
|
||||
*
|
||||
* API additions:
|
||||
* \li IsEnd for all lists.
|
||||
@@ -33,6 +48,7 @@
|
||||
* \li HasNext for all lists.
|
||||
* \li AIAbstractList, use AIList instead.
|
||||
* \li AIList::ChangeItem, use AIList::SetValue instead.
|
||||
* \li AIRail::ERR_NONUNIFORM_STATIONS_DISABLED, that error is never returned anymore.
|
||||
*
|
||||
* Other changes:
|
||||
* \li AIEngine::GetMaxTractiveEffort can be used for road vehicles.
|
||||
|
@@ -9,6 +9,7 @@
|
||||
|
||||
/** @file ai_company.cpp Implementation of AICompany. */
|
||||
|
||||
#include "../../stdafx.h"
|
||||
#include "ai_company.hpp"
|
||||
#include "ai_error.hpp"
|
||||
#include "../../command_func.h"
|
||||
|
@@ -12,10 +12,10 @@
|
||||
#include "../../stdafx.h"
|
||||
#include "../../string_func.h"
|
||||
#include "../../company_base.h"
|
||||
#include "../../company_func.h"
|
||||
#include "../../rev.h"
|
||||
|
||||
#include "ai_controller.hpp"
|
||||
#include "../ai_storage.hpp"
|
||||
#include "../ai_instance.hpp"
|
||||
#include "../ai_config.hpp"
|
||||
#include "ai_log.hpp"
|
||||
|
@@ -9,6 +9,7 @@
|
||||
|
||||
/** @file ai_date.cpp Implementation of AIDate. */
|
||||
|
||||
#include "../../stdafx.h"
|
||||
#include "ai_date.hpp"
|
||||
#include "../../date_func.h"
|
||||
|
||||
|
@@ -9,6 +9,7 @@
|
||||
|
||||
/** @file ai_depotlist.cpp Implementation of AIDepotList and friends. */
|
||||
|
||||
#include "../../stdafx.h"
|
||||
#include "ai_depotlist.hpp"
|
||||
#include "../../company_func.h"
|
||||
#include "../../depot_base.h"
|
||||
|
@@ -9,6 +9,7 @@
|
||||
|
||||
/** @file ai_engine.cpp Implementation of AIEngine. */
|
||||
|
||||
#include "../../stdafx.h"
|
||||
#include "ai_engine.hpp"
|
||||
#include "ai_cargo.hpp"
|
||||
#include "../../company_func.h"
|
||||
|
@@ -12,9 +12,7 @@
|
||||
#ifndef AI_ENGINE_HPP
|
||||
#define AI_ENGINE_HPP
|
||||
|
||||
#include "ai_object.hpp"
|
||||
#include "ai_vehicle.hpp"
|
||||
#include "ai_road.hpp"
|
||||
#include "ai_rail.hpp"
|
||||
#include "ai_airport.hpp"
|
||||
|
||||
|
@@ -9,6 +9,7 @@
|
||||
|
||||
/** @file ai_enginelist.cpp Implementation of AIEngineList and friends. */
|
||||
|
||||
#include "../../stdafx.h"
|
||||
#include "ai_enginelist.hpp"
|
||||
#include "../../company_func.h"
|
||||
#include "../../engine_base.h"
|
||||
|
@@ -9,6 +9,7 @@
|
||||
|
||||
/** @file ai_error.cpp Implementation of AIError. */
|
||||
|
||||
#include "../../stdafx.h"
|
||||
#include "ai_error.hpp"
|
||||
#include "../../core/bitmath_func.hpp"
|
||||
|
||||
|
@@ -9,6 +9,7 @@
|
||||
|
||||
/** @file ai_event.cpp Implementation of AIEvent. */
|
||||
|
||||
#include "../../stdafx.h"
|
||||
#include "ai_event_types.hpp"
|
||||
|
||||
#include <queue>
|
||||
|
@@ -9,6 +9,7 @@
|
||||
|
||||
/** @file ai_event_types.cpp Implementation of all EventTypes. */
|
||||
|
||||
#include "../../stdafx.h"
|
||||
#include "ai_event_types.hpp"
|
||||
#include "ai_vehicle.hpp"
|
||||
#include "../../command_type.h"
|
||||
@@ -18,8 +19,15 @@
|
||||
#include "../../articulated_vehicles.h"
|
||||
#include "table/strings.h"
|
||||
|
||||
bool AIEventEnginePreview::IsEngineValid() const
|
||||
{
|
||||
const Engine *e = ::Engine::GetIfValid(this->engine);
|
||||
return e != NULL && e->IsEnabled();
|
||||
}
|
||||
|
||||
char *AIEventEnginePreview::GetName()
|
||||
{
|
||||
if (!this->IsEngineValid()) return NULL;
|
||||
static const int len = 64;
|
||||
char *engine_name = MallocT<char>(len);
|
||||
|
||||
@@ -30,6 +38,7 @@ char *AIEventEnginePreview::GetName()
|
||||
|
||||
CargoID AIEventEnginePreview::GetCargoType()
|
||||
{
|
||||
if (!this->IsEngineValid()) return CT_INVALID;
|
||||
CargoArray cap = ::GetCapacityOfArticulatedParts(this->engine);
|
||||
|
||||
CargoID most_cargo = CT_INVALID;
|
||||
@@ -46,6 +55,7 @@ CargoID AIEventEnginePreview::GetCargoType()
|
||||
|
||||
int32 AIEventEnginePreview::GetCapacity()
|
||||
{
|
||||
if (!this->IsEngineValid()) return -1;
|
||||
const Engine *e = ::Engine::Get(this->engine);
|
||||
switch (e->type) {
|
||||
case VEH_ROAD:
|
||||
@@ -68,6 +78,7 @@ int32 AIEventEnginePreview::GetCapacity()
|
||||
|
||||
int32 AIEventEnginePreview::GetMaxSpeed()
|
||||
{
|
||||
if (!this->IsEngineValid()) return -1;
|
||||
const Engine *e = ::Engine::Get(this->engine);
|
||||
int32 max_speed = e->GetDisplayMaxSpeed(); // km-ish/h
|
||||
if (e->type == VEH_AIRCRAFT) max_speed /= _settings_game.vehicle.plane_speed;
|
||||
@@ -76,16 +87,19 @@ int32 AIEventEnginePreview::GetMaxSpeed()
|
||||
|
||||
Money AIEventEnginePreview::GetPrice()
|
||||
{
|
||||
if (!this->IsEngineValid()) return -1;
|
||||
return ::Engine::Get(this->engine)->GetCost();
|
||||
}
|
||||
|
||||
Money AIEventEnginePreview::GetRunningCost()
|
||||
{
|
||||
if (!this->IsEngineValid()) return -1;
|
||||
return ::Engine::Get(this->engine)->GetRunningCost();
|
||||
}
|
||||
|
||||
int32 AIEventEnginePreview::GetVehicleType()
|
||||
{
|
||||
if (!this->IsEngineValid()) return AIVehicle::VT_INVALID;
|
||||
switch (::Engine::Get(this->engine)->type) {
|
||||
case VEH_ROAD: return AIVehicle::VT_ROAD;
|
||||
case VEH_TRAIN: return AIVehicle::VT_RAIL;
|
||||
@@ -97,6 +111,7 @@ int32 AIEventEnginePreview::GetVehicleType()
|
||||
|
||||
bool AIEventEnginePreview::AcceptPreview()
|
||||
{
|
||||
if (!this->IsEngineValid()) return false;
|
||||
return AIObject::DoCommand(0, this->engine, 0, CMD_WANT_ENGINE_PREVIEW);
|
||||
}
|
||||
|
||||
|
@@ -12,7 +12,6 @@
|
||||
#ifndef AI_EVENT_TYPES_HPP
|
||||
#define AI_EVENT_TYPES_HPP
|
||||
|
||||
#include "ai_object.hpp"
|
||||
#include "ai_event.hpp"
|
||||
#include "ai_company.hpp"
|
||||
|
||||
@@ -279,7 +278,7 @@ public:
|
||||
*/
|
||||
Money GetRunningCost();
|
||||
|
||||
#ifdef DOXYGEN_SKIP
|
||||
#ifdef DOXYGEN_AI_DOCS
|
||||
/**
|
||||
* Get the type of the offered engine.
|
||||
* @return The type the engine has.
|
||||
@@ -297,6 +296,7 @@ public:
|
||||
|
||||
private:
|
||||
EngineID engine;
|
||||
bool IsEngineValid() const;
|
||||
};
|
||||
|
||||
/**
|
||||
|
@@ -9,6 +9,7 @@
|
||||
|
||||
/** @file ai_execmode.cpp Implementation of AIExecMode. */
|
||||
|
||||
#include "../../stdafx.h"
|
||||
#include "ai_execmode.hpp"
|
||||
#include "../../company_base.h"
|
||||
#include "../../company_func.h"
|
||||
|
@@ -9,6 +9,7 @@
|
||||
|
||||
/** @file ai_gamesettings.cpp Implementation of AIGameSettings. */
|
||||
|
||||
#include "../../stdafx.h"
|
||||
#include "ai_gamesettings.hpp"
|
||||
#include "../../settings_internal.h"
|
||||
|
||||
|
@@ -12,7 +12,6 @@
|
||||
#ifndef AI_GAMESETTINGS_HPP
|
||||
#define AI_GAMESETTINGS_HPP
|
||||
|
||||
#include "ai_object.hpp"
|
||||
#include "ai_vehicle.hpp"
|
||||
|
||||
/**
|
||||
|
@@ -9,6 +9,7 @@
|
||||
|
||||
/** @file ai_group.cpp Implementation of AIGroup. */
|
||||
|
||||
#include "../../stdafx.h"
|
||||
#include "ai_group.hpp"
|
||||
#include "ai_engine.hpp"
|
||||
#include "../ai_instance.hpp"
|
||||
|
@@ -12,7 +12,6 @@
|
||||
#ifndef AI_GROUP_HPP
|
||||
#define AI_GROUP_HPP
|
||||
|
||||
#include "ai_object.hpp"
|
||||
#include "ai_vehicle.hpp"
|
||||
|
||||
/**
|
||||
|
@@ -9,6 +9,7 @@
|
||||
|
||||
/** @file ai_grouplist.cpp Implementation of AIGroupList and friends. */
|
||||
|
||||
#include "../../stdafx.h"
|
||||
#include "ai_grouplist.hpp"
|
||||
#include "../../company_func.h"
|
||||
#include "../../group.h"
|
||||
|
@@ -9,6 +9,7 @@
|
||||
|
||||
/** @file ai_industry.cpp Implementation of AIIndustry. */
|
||||
|
||||
#include "../../stdafx.h"
|
||||
#include "ai_industry.hpp"
|
||||
#include "ai_cargo.hpp"
|
||||
#include "ai_map.hpp"
|
||||
|
@@ -9,6 +9,7 @@
|
||||
|
||||
/** @file ai_industrylist.cpp Implementation of AIIndustryList and friends. */
|
||||
|
||||
#include "../../stdafx.h"
|
||||
#include "ai_industrylist.hpp"
|
||||
#include "../../industry.h"
|
||||
|
||||
|