1
0
mirror of https://github.com/OpenTTD/OpenTTD.git synced 2025-08-28 08:59:09 +00:00

Compare commits

..

212 Commits

Author SHA1 Message Date
rubidium
909bd492f6 (svn r22104) -Release: 1.1.0-RC1 2011-02-18 21:09:53 +00:00
rubidium
96ab68d6bc (svn r22103) [1.1] -Prepare: for 1.1.0-RC1 2011-02-18 21:05:28 +00:00
rubidium
35fb1fe0e1 (svn r22100) [1.1] -Backport from trunk: language updates 2011-02-18 20:38:05 +00:00
rubidium
fab07a9265 (svn r22099) [1.1] -Backport from trunk:
- 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)
2011-02-18 20:35:40 +00:00
rubidium
177135320d (svn r22088) [1.1] -Revert (r22041): assertions to check whether Pools are actually checked before allocation still triggered in some corner cases, so leave it in trunk but remove it from the 1.1 branch 2011-02-15 22:04:57 +00:00
rubidium
5be6a1c7e6 (svn r22082) [1.1] -Branch: for the 1.1 series 2011-02-14 20:19:53 +00:00
glx
1b2ef66416 (svn r22081) -Fix [FS#4489]: if fullscreen fails with current resolution, use desktop resolution 2011-02-14 20:16:36 +00:00
planetmaker
914f8e9f1d (svn r22080) -Doc: Add doxygen comments to a few functions and improve a few existing comments 2011-02-14 19:52:26 +00:00
terkhen
8e4b2c951d (svn r22079) -Fix: The owner view of the smallmap was not updated after a company colour change. 2011-02-14 19:39:01 +00:00
rubidium
95b6aeaabd (svn r22078) -Fix [FS#4499]: maximum train length interfered with wagon replacement when wagon removal was turned on 2011-02-14 19:18:12 +00:00
translators
95ec99132e (svn r22077) -Update from WebTranslator v3.0:
latvian - 2 changes by skazhy
2011-02-14 18:45:08 +00:00
smatz
e8002f5b92 (svn r22076) -Fix (r22075): build failed with GCC 2011-02-14 12:39:45 +00:00
yexo
66543bde1d (svn r22075) -Fix [FS#4501]: newgrfs with invalid multi-tile houses could cause a valid 1x1 house following it to be seen as multi-tile, causing crashes 2011-02-13 21:44:00 +00:00
yexo
b51c62f5af (svn r22074) -Cleanup (r22073): there was already a setting-callback that did what is needed 2011-02-13 20:52:33 +00:00
yexo
f1377a228f (svn r22073) -Fix: immediately update the train weight when you change the multiplier for train cargo weight 2011-02-13 20:45:17 +00:00
rubidium
6a58f34878 (svn r22072) -Fix (r21966): flipping wasn't (correctly) disabled in some cases 2011-02-13 19:49:53 +00:00
yexo
c7038d8b4d (svn r22071) -Fix (r20075): some hotkey names in hotkey.cfg for the scenario editor toolbar were completely bogus 2011-02-13 19:31:04 +00:00
rubidium
befa79ba4a (svn r22070) -Fix [FS#4503] (r21399): crashes when disconnecting after requesting the map 2011-02-12 21:30:57 +00:00
rubidium
a19bc28aba (svn r22069) -Fix: delete all savegame packets, not just the first one 2011-02-12 21:29:35 +00:00
rubidium
adfd648031 (svn r22068) -Codechange/Fix: return "connection lost" instead of "okay" when SendPackets closed the connection 2011-02-12 21:09:34 +00:00
rubidium
92d0d6d10b (svn r22067) -Fix: don't hold a mutex when sending packets and thus possibly closing the connection as that wants to acquire the mutex again 2011-02-12 21:07:30 +00:00
rubidium
ece59dc0d1 (svn r22066) -Fix [FS#4502]: building a statue did not check whether the object pool is full 2011-02-12 18:45:05 +00:00
rubidium
2d4d43d00c (svn r22065) -Fix [FS#4500]: pool allocation checks triggered when towns could not be built 2011-02-12 18:41:24 +00:00
rubidium
d8cada7563 (svn r22064) -Fix [FS#4497] (r21399): crash when disconnecting and reconnecting while the server is still saving the savegame 2011-02-11 23:20:35 +00:00
rubidium
1dc5ba2210 (svn r22063) -Change: make the "has network" check also check whether the client is actually fully connected 2011-02-11 22:10:10 +00:00
rubidium
7de823b1bd (svn r22062) -Fix: memory leak when saving fails mid-way 2011-02-11 21:30:26 +00:00
yexo
296af35741 (svn r22061) -Change: when loading old savegames with long trains set the maximum train length to the length of the longest train 2011-02-11 20:54:49 +00:00
translators
37483180e8 (svn r22060) -Update from WebTranslator v3.0:
arabic_egypt - 46 changes by Company_director
hungarian - 20 changes by IPG
spanish - 1 changes by Terkhen
2011-02-11 18:45:13 +00:00
terkhen
8196b03074 (svn r22059) -Fix (r21179): Make the send chat message window follow the position of the status bar. 2011-02-11 18:24:12 +00:00
rubidium
b187352663 (svn r22058) -Fix (r22050): removing broken orders happened before the "front engine" conversion was done for road vehicles, so road vehicles didn't have orders anymore 2011-02-11 13:38:34 +00:00
rubidium
13fd2cd335 (svn r22057) -Fix: waypoint conversion could (previously) silently overfill the pool and crash 2011-02-11 09:33:38 +00:00
rubidium
246f6fe478 (svn r22056) -Fix [FS#4408]: metric and imperial HP are not the same. As imperial HP are used internally, set a conversion rate for metric HP
-Change: make the imperial HP to kW conversions a bit more precise
2011-02-11 08:17:12 +00:00
yexo
5f18d6d828 (svn r22055) -Fix [FS#4490]: [Squirrel] some invalid squirrel code caused the squirrel compiler to crash 2011-02-11 06:18:39 +00:00
rubidium
66a8c324db (svn r22054) -Codechange: support for rounding the converted units to their closest integral value instead of flooring 2011-02-10 20:54:46 +00:00
terkhen
24983ec629 (svn r22053) -Fix: The land area information window was not updated after a language change. 2011-02-10 20:49:36 +00:00
translators
a1b79246e8 (svn r22052) -Update from WebTranslator v3.0:
catalan - 11 changes by arnau
2011-02-10 18:45:06 +00:00
terkhen
57a969017b (svn r22051) -Fix (r21935): Roads under road stops would get a wrong owner after overbuilding. 2011-02-10 18:32:08 +00:00
rubidium
50996e799b (svn r22050) -Fix-ish [FS#4496]: 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. 2011-02-10 18:28:25 +00:00
terkhen
096c2857ee (svn r22049) -Codechange: Add assert condition to GetRoadOwner. 2011-02-10 18:27:50 +00:00
glx
16dd93d3fb (svn r22048) -Fix (r4495): company 0 does not always exist, so put temporary vehicles in a valid company 2011-02-10 15:58:22 +00:00
yexo
421ba1c342 (svn r22047) -Fix: selling a vehicle triggered the assert added in r22041 2011-02-10 13:17:24 +00:00
frosch
b7713a7e85 (svn r22046) -Fix [FS#4487]: Make sure order indices stay in range when copying, sharing, unsharing or deleting all orders. 2011-02-09 21:40:32 +00:00
frosch
3a787f5a0b (svn r22045) -Codechange: Move cancelling the current loading order on deleting the current order to a separate function. 2011-02-09 21:39:22 +00:00
rubidium
dda7b60a57 (svn r22044) -Fix [FS#4493]: update the consist cache when a part of a train is flipped in the depot 2011-02-09 20:45:40 +00:00
rubidium
15514a3011 (svn r22043) -Fix: invalidate the right windows when a part of a train is flipped in the depot 2011-02-09 20:45:07 +00:00
smatz
69789f3008 (svn r22042) -Fix: when loading a TTO/TTD savegame, verify we can allocate a CargoPacket before actually trying to do so 2011-02-09 18:56:40 +00:00
smatz
fbfb0ffbf2 (svn r22041) -Codechange: add a check that we called PoolItem::CanAllocateItem() before actually allocating it 2011-02-09 18:55:51 +00:00
rubidium
67cbee4f64 (svn r22040) -Codechange: handle case where too many Engines would be loaded, and ensure we don't overfill the SpriteGroup pool 2011-02-09 18:46:55 +00:00
translators
f50f57b4d8 (svn r22039) -Update from WebTranslator v3.0:
dutch - 3 changes by habell
korean - 3 changes by junho2813
brazilian_portuguese - 99 changes by Luis_Mizuchiro
serbian - 1 changes by etran
2011-02-09 18:45:16 +00:00
terkhen
0828653cf9 (svn r22038) -Fix (r21406): Tab completion in chat did not cycle through all possible options. 2011-02-09 15:57:03 +00:00
rubidium
e76465bab9 (svn r22037) -Codechange: remove some unneeded (hidden) casting 2011-02-09 13:21:50 +00:00
rubidium
f4f5de5be1 (svn r22036) -Codechange: rename units to match coding style, and give conversion variables a more descriptive name 2011-02-09 13:05:04 +00:00
rubidium
fbb5f87801 (svn r22035) -Codechange: refactor (display) unit conversion to happen at a single place 2011-02-09 12:59:39 +00:00
rubidium
7c254110c0 (svn r22034) -Fix [FS#4488]: 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 2011-02-08 22:36:16 +00:00
smatz
5ccf5cc551 (svn r22033) -Fix: don't crash when there are too many objects generated already when placing transmitters 2011-02-08 21:49:39 +00:00
rubidium
05a846a574 (svn r22032) -Codechange: add some asserts to verify we don't allocate too many NetworkClientSockets/Infos 2011-02-08 21:47:10 +00:00
rubidium
537bd8a429 (svn r22031) -Fix: bad servers could crash a client 2011-02-08 21:45:38 +00:00
rubidium
5f7439a00f (svn r22030) -Cleanup: dead code in NetworkGameWindow::OnInvalidateData (adf88) 2011-02-08 20:52:38 +00:00
rubidium
e1eeca6440 (svn r22029) -Fix [FS#4482]: the server list got not resorted/redrawn after NewGRFs were downloaded 2011-02-08 20:51:30 +00:00
rubidium
5286de116b (svn r22028) -Cleanup: remove traces of a debugging "feature" that got disabled a long time ago 2011-02-08 20:47:48 +00:00
translators
0c873d2bc6 (svn r22027) -Update from WebTranslator v3.0:
traditional_chinese - 38 changes by josesun
luxembourgish - 12 changes by Phreeze
2011-02-08 18:45:09 +00:00
smatz
9cd5243d04 (svn r22026) -Fix: don't crash when we generate too many objects while generating map 2011-02-08 18:39:29 +00:00
smatz
887a7724dc (svn r22025) -Fix: verify there is enough space in the pool when creating new pool items while loading old savegames 2011-02-08 18:34:13 +00:00
smatz
364ef8e6e6 (svn r22024) -Fix [FS#4468]: verify we can allocate an OrderList before we actually try to do so (Rubidium) 2011-02-08 18:29:30 +00:00
smatz
b4273bcd35 (svn r22023) -Fix: verify we can allocate a CargoPacket and CargoPayment before we actually try to do so
-Codechange: increase the limit of number of CargoPayments to match the limit of Vehicles (Rubidium)
2011-02-08 18:27:21 +00:00
smatz
7af2470a78 (svn r22022) -Fix [FS#4468]: verify we can allocate an order before we actually try to do so 2011-02-08 18:21:55 +00:00
rubidium
1d0d7635e0 (svn r22021) -Fix (r22019): ofcourse make doesn't notice files are gone, so it doesn't recompile everything that needs to be recompiled... 2011-02-07 22:49:38 +00:00
rubidium
a06b34bd4f (svn r22020) -Fix: load of failures of WT3 to properly validate some strings... 2011-02-07 22:40:01 +00:00
rubidium
0395aab420 (svn r22019) -Codechange: s/functions.h/clear_func.h/ 2011-02-07 22:38:02 +00:00
rubidium
bc3ce1e53b (svn r22018) -Cleanup: remove some (now) unneeded includes of functions.h 2011-02-07 22:37:22 +00:00
rubidium
faf5d899f7 (svn r22017) -Codechange: move MarkTileDirtyByTile to viewport_func.h 2011-02-07 22:29:47 +00:00
rubidium
68ace1b79b (svn r22016) -Fix [FS#4479]: when paused and having the allowed actions while paused setting on "no actions" cheating money would fail 2011-02-07 22:23:37 +00:00
rubidium
3745ff7338 (svn r22015) -Codechange: move yet another pair of methods from functions.h 2011-02-07 22:22:20 +00:00
rubidium
ec9e0690eb (svn r22014) -Codechange: move some more functions out of functions.h 2011-02-07 22:15:46 +00:00
rubidium
750d369a2a (svn r22013) -Codechange: move some functions out of functions.h 2011-02-07 22:08:11 +00:00
planetmaker
68d03b66e3 (svn r22012) -Add: [NewGRF] Test all industry layouts also when prospecting 2011-02-07 20:47:58 +00:00
planetmaker
44495f8dba (svn r22011) -Codechange: Rename a few variables and enhance code clearity 2011-02-07 20:47:06 +00:00
planetmaker
64280e63fb (svn r22010) -Feature-ette [FS#4131]: [NewGRF] Test all possible industry layouts during construction and add another pony to andy's stables 2011-02-07 20:45:31 +00:00
translators
28a72bbf47 (svn r22009) -Update from WebTranslator v3.0:
belarusian - 2 changes by KorneySan
croatian - 11 changes by VoyagerOne
estonian - 3 changes by notAbot
romanian - 10 changes by kkmic
russian - 5 changes by KorneySan, Lone_Wolf, perk11
spanish - 3 changes by Terkhen
swedish - 9 changes by Ledel
2011-02-07 18:45:26 +00:00
rubidium
264ed733e8 (svn r22008) -Add [FS#4470]: log the command that invocated configure in config.log 2011-02-07 09:55:09 +00:00
rubidium
79fd8a362b (svn r22007) -Change: only show one AI per unique ID instead of all versions in the output of "openttd -h" 2011-02-07 09:51:16 +00:00
rubidium
64cba95fbe (svn r22006) -Fix [FS#4480]: smoke/sparks of trains would be shown under bridges, or rather through bridges 2011-02-07 09:50:20 +00:00
planetmaker
4828ed94ba (svn r22005) -Fix (r21993): Update regression tests as well 2011-02-06 23:25:11 +00:00
rubidium
cebe8ab630 (svn r22004) -Change [FS#4471]: always report mammoth trains are disabled to NewGRFs, and allow the maximum train length to be modified in multiplayer as well 2011-02-06 21:31:33 +00:00
rubidium
4af28a3867 (svn r22003) -Document [FS#3447]: that SDL for Mac OS X might very well be unusable 2011-02-06 21:14:57 +00:00
translators
7ffef9c1e6 (svn r22002) -Update from WebTranslator v3.0:
belarusian - 4 changes by KorneySan, Wowanxm
finnish - 38 changes by jpx_
italian - 3 changes by lorenzodv
japanese - 42 changes by kokubunzi
polish - 7 changes by Simek
portuguese - 122 changes by jomasaco
russian - 4 changes by Lone_Wolf
serbian - 4 changes by etran
slovenian - 10 changes by ntadej
2011-02-06 18:45:32 +00:00
alberth
4364cec392 (svn r22001) -Codechange: Rename difficulty.number_industries to difficulty.industry_density. 2011-02-06 18:26:50 +00:00
alberth
d84502c432 (svn r22000) -Codechange: Introduce an enum for the industry density setting. 2011-02-06 18:11:39 +00:00
alberth
a5921c0514 (svn r21999) -Fix [FS#4474] (r21969): Use 'very low' industry density for generating industries in the SE. 2011-02-06 17:21:49 +00:00
alberth
870d2eafbf (svn r21998) -Fix (r21969): Number of industries difficulty setting should not affect the SE. 2011-02-06 17:19:56 +00:00
rubidium
fd86b0608d (svn r21997) -Fix [FS#4473]: 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 2011-02-06 16:45:27 +00:00
rubidium
fd94ed3009 (svn r21996) -Fix [FS#4472]: [YAPF] Under some circumstances vehicles could be lost 2011-02-06 15:01:52 +00:00
frosch
8b2f2c09e5 (svn r21995) -Cleanup (r21994): Remove obsolete comment. 2011-02-06 14:33:04 +00:00
frosch
a8859bbff9 (svn r21994) -Fix: Make computations of closest-land/water-distances handle waterish tiles more correctly. 2011-02-06 13:57:17 +00:00
planetmaker
afad7920ef (svn r21993) -Fix (r19720): When building a lock on dry land costs for clearing water were deducted rather than for building canals 2011-02-06 12:16:06 +00:00
yexo
6f730b1124 (svn r21992) -Fix [FS#4467]: AIs trying to change the AIOF_GOTO_NEAREST_DEPOT flag for existing orders triggered an assert. Explicitly forbid this as precondition for SetOrderFlags 2011-02-06 12:15:17 +00:00
frosch
3bb7f7ebe4 (svn r21991) -Fix [FS#4466]: The share/copy-orders-cursor was not updated to refer to the new vehicle when it got autoreplaced/-renewed. 2011-02-05 23:10:31 +00:00
frosch
2fbecaf4bf (svn r21990) -Cleanup (r14085): Remove unneeded test. 2011-02-05 23:02:52 +00:00
frosch
9aa185572b (svn r21989) -Fix (r21954): Vehicle status bar glitches on speed changes. 2011-02-05 21:13:54 +00:00
frosch
d82475cf88 (svn r21988) -Change: Disable smooth scrolling for GHK_CENTER_ZOOM when zooming is also involved. 2011-02-05 21:07:25 +00:00
frosch
ef3ec0f8c8 (svn r21987) -Fix: Make news items, engine previews and AI preview events deal with no longer existing Engine items after resetting the pool. 2011-02-05 20:41:13 +00:00
frosch
faa2a26ae1 (svn r21986) -Codechange: Add helper function to test whether an engine is still associated to a GRF. 2011-02-05 20:37:00 +00:00
frosch
2679051c68 (svn r21985) -Codechange: Use VehicleOrderID where appropiate. 2011-02-05 20:26:55 +00:00
planetmaker
e145d632cd (svn r21984) -Fix: Compilation without AI was broken 2011-02-05 19:36:02 +00:00
translators
b0e4ff1dff (svn r21983) -Update from WebTranslator v3.0:
belarusian - 6 changes by Wowanxm
czech - 4 changes by CrazyBenny
english_US - 3 changes by Rubidium
estonian - 7 changes by notAbot
finnish - 5 changes by jpx_
french - 5 changes by glx
german - 9 changes by planetmaker
italian - 10 changes by lorenzodv, planetmaker
japanese - 11 changes by kokubunzi
polish - 21 changes by Simek
russian - 1 changes by Lone_Wolf
serbian - 9 changes by etran
spanish - 5 changes by Terkhen
ukrainian - 9 changes by Fixer
2011-02-05 18:45:47 +00:00
frosch
e9e6444138 (svn r21982) -Add: Wheel scrolling to console. 2011-02-05 17:54:36 +00:00
frosch
82f260e15f (svn r21981) -Codechange: Deduplicate the code and unify the bounds of console scrolling. 2011-02-05 17:53:29 +00:00
frosch
582d30c979 (svn r21980) -Codechange: Draw one line more at the top of the console, i.e. clip the top-most line if there is not enough room instead of not drawing it at all. 2011-02-05 17:44:44 +00:00
frosch
c000f6b939 (svn r21979) -Fix: Scrolling of the console in pages used wrong line height and scrolled too much. 2011-02-05 17:41:05 +00:00
frosch
e06c412a05 (svn r21978) -Codechange/Fix: Remove usage of Window::top and left from IConsoleWindow::OnPaint(). Drawing is done relative to the window position. But as the position is (0,0) anyway, it was not noticeable. 2011-02-05 17:34:13 +00:00
frosch
9e1695aa1e (svn r21977) -Codechange: Always cal Window::OnMouseWheel(), independent of viewport scroll/zoom settings. 2011-02-05 16:36:37 +00:00
alberth
b992a93996 (svn r21976) -Doc: Document several crash handling functions. 2011-02-05 16:20:55 +00:00
frosch
915e339d0f (svn r21975) -Add: 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. 2011-02-05 16:07:23 +00:00
terkhen
a4b08dddd1 (svn r21974) -Feature: Add a setting to enable/disable funding local road reconstruction. 2011-02-05 13:46:09 +00:00
terkhen
91dcc9e016 (svn r21973) -Fix: Redraw the town authority window after modifying town authority settings. 2011-02-05 13:42:57 +00:00
alberth
7935eab3dc (svn r21972) -Fix: Replace 'None' industries in the generation window with more descriptive label. 2011-02-05 11:42:27 +00:00
alberth
7da952115b (svn r21971) -Fix (r21969): Subversion auto-increments revision on commit. 2011-02-05 10:38:40 +00:00
rubidium
50d646ca7b (svn r21970) -Fix [FS#4464]: Crash when a multiplayer company goes bankrupt with 'you' in it 2011-02-05 10:38:31 +00:00
alberth
bdf5a1c2f7 (svn r21969) -Feature: Introduce 'minimal' number of industries as a replacment for the old 'none' setting in the newgame window. 2011-02-05 10:28:31 +00:00
rubidium
974c0f5166 (svn r21967) -Prepare: for 1.1.0-beta5 2011-02-04 20:07:32 +00:00
rubidium
00a766ed27 (svn r21966) -Change [FS#4462]: [NewGRF] Disable the flipping of train engines/wagons in the depot by default for NewGRFs 2011-02-04 19:20:47 +00:00
translators
1cd4b3bb86 (svn r21965) -Update from WebTranslator v3.0:
czech - 6 changes by SmatZ
dutch - 15 changes by Yexo
english_US - 10 changes by Rubidium
finnish - 9 changes by jpx_
french - 9 changes by glx
russian - 6 changes by Lone_Wolf
spanish - 6 changes by Terkhen
2011-02-04 18:47:33 +00:00
rubidium
09601fe35d (svn r21964) -Fix (r21959): regression failed 2011-02-04 18:41:42 +00:00
rubidium
bbd308adef (svn r21963) -Fix: saying something twice in an error message is not needed 2011-02-04 18:32:56 +00:00
rubidium
0fe0225751 (svn r21962) -Feature-ish: GUI setting to disable reversing at signals 2011-02-04 16:40:38 +00:00
rubidium
773c6765e6 (svn r21961) -Remove: limitation that not loading and not unloading is mutual exclusive 2011-02-04 16:07:42 +00:00
rubidium
c85d350310 (svn r21960) -Change: show the length of vehicles in tiles, instead of half tiles in the depot
-Fix [FS#4461]: don't count the number of vehicles but the length of vehicles to (configurably) limit train length
2011-02-04 15:40:35 +00:00
rubidium
46b3d114a8 (svn r21959) -Change: replace longbridges with custom maximum bridge and tunnel length setting 2011-02-04 15:37:23 +00:00
rubidium
4355231f67 (svn r21958) -Cleanup: join_stations setting; can done by distant join and could be subverted by distant join 2011-02-04 15:29:50 +00:00
rubidium
4c5ca17486 (svn r21957) -Cleanup: gotodepot and timetabling settings are more or less useless; just don't use depot orders or timetabling if you don't want to use it 2011-02-04 15:13:20 +00:00
rubidium
71f4067d19 (svn r21956) -Cleanup: always draw the bridge pillars 2011-02-04 14:38:33 +00:00
rubidium
313c1bc171 (svn r21955) -Cleanup: always show the long date in the status bar 2011-02-04 14:38:15 +00:00
rubidium
2ad1279725 (svn r21954) -Cleanup: remove setting to not show the vehicle speed in the vehicle view 2011-02-04 14:37:24 +00:00
smatz
3057a26fd5 (svn r21953) -Remove [FS#4456]: the non-uniform stations setting. Support for uniform stations has been broken for over a year 2011-02-04 14:11:14 +00:00
rubidium
732a0d069a (svn r21952) -Codechange: unify the company clearing code for bankruptcy with the command to remove companies 2011-02-04 10:31:40 +00:00
yexo
c70ee16ecf (svn r21951) -Fix: [NewGRF] reset the carry flag every 4 bytes in action6 when adding more than one variable 2011-02-04 08:29:14 +00:00
translators
053420399a (svn r21950) -Update from WebTranslator v3.0:
catalan - 1 changes by arnau
2011-02-03 18:45:07 +00:00
smatz
f3e550e9bd (svn r21949) -Change: randomize the vehicle a small UFO targets, do not use the one with lowest index 2011-02-02 23:06:38 +00:00
smatz
a4bf3be864 (svn r21948) -Fix: road vehicle was moved under the bridge when it was destroyed by an UFO while on a bridge 2011-02-02 22:40:04 +00:00
smatz
3bfad0243b (svn r21947) -Fix (r21195): crash when converting a savegame with vehicles crashed in a tunnel entry, or with vehicles reversing there 2011-02-02 22:20:48 +00:00
rubidium
547421496e (svn r21946) -Fix [FS#4447]: assertion/funny behaviour when a road vehicle reverses while overtaking, so abort the overtake attempt when reversing the road vehicle 2011-02-02 22:13:13 +00:00
rubidium
bbe94dc497 (svn r21945) -Codechange: simplify setting the overtaking counter and remove the magic from its numbers 2011-02-02 22:06:14 +00:00
smatz
a42c0ea88b (svn r21944) -Codechange: give name to one magic constant 2011-02-02 22:01:01 +00:00
rubidium
8118f74575 (svn r21943) -Codechange: document and unmagicify some bits of road vehicle overtaking 2011-02-02 21:56:56 +00:00
smatz
54161949d1 (svn r21942) -Codechange: no need to convert GOINGUP/GOINGDOWN flags if they are cleared afterwards during savegame conversion 2011-02-02 19:22:35 +00:00
translators
e846701b3c (svn r21941) -Update from WebTranslator v3.0:
maltese - 22 changes by peter88823
2011-02-02 18:45:05 +00:00
planetmaker
0364726bbb (svn r21940) -Fix [FS#4460]: Not all vehicles should be tested to be inside a tunnel upon savegame load (SmatZ) 2011-02-02 16:46:42 +00:00
smatz
b15719bbd2 (svn r21939) -Fix (r16357): the check for valid depot wasn't strict enough 2011-02-02 14:50:57 +00:00
alberth
0ebc548a89 (svn r21938) -Codechange: AfterLoadGame() is no longer friend of Vehicle. 2011-02-01 21:18:27 +00:00
translators
1a971fb6d6 (svn r21937) -Update from WebTranslator v3.0:
turkish - 32 changes by leventpasha
2011-02-01 18:45:06 +00:00
terkhen
9765a297e7 (svn r21936) -Fix [FS#4457](r19231): Do not remove existing road/tram bits when overbuilding stops of the opposite road type.
-Change: Build only the required road/tram bits when building stops with drag and drop.
2011-02-01 10:48:10 +00:00
terkhen
2e1eafbdc3 (svn r21935) -Fix (r19231): Allow to overbuild road stops which are built over trams. 2011-02-01 10:43:25 +00:00
frosch
49ea0e9092 (svn r21934) -Fix (r21933): The original plan was to run the regression before committing. 2011-01-31 20:56:02 +00:00
frosch
a97d52a29a (svn r21933) -Codechange: Split cur_order_index into cur_auto_order_index and cur_real_order_index to keep track of the current real order in an unambiguous way.
-Fix [FS#4440]: Automatic orders behave now stable wrt. service orders and are not added or removed depending on the need of servicing.
-Fix: Various other issues with automatic orders, e.g. vehicles getting stuck with "no orders" when there are automatic orders at the end of the order list.
2011-01-31 20:44:15 +00:00
rubidium
67a5cd0b18 (svn r21932) -Document: some tidbits related to vehicles 2011-01-31 20:27:33 +00:00
translators
8f67baae2e (svn r21931) -Update from WebTranslator v3.0:
vietnamese - 81 changes by myquartz
2011-01-31 18:45:07 +00:00
alberth
da0b09557c (svn r21930) -Codechange: Remove unused vehicle GetTypeString() functions. 2011-01-30 21:32:21 +00:00
planetmaker
df8c4bdbfa (svn r21929) -Fix [FS#4554]: The town window would not be invalidated in the scenario editor if the ground changed and thus the required cargos for town growth 2011-01-30 19:14:48 +00:00
translators
3d34b9e4a2 (svn r21928) -Update from WebTranslator v3.0:
portuguese - 5 changes by JayCity
2011-01-30 18:45:06 +00:00
alberth
1e65afc62a (svn r21927) -Change: Comment-style fixes. 2011-01-30 12:58:54 +00:00
frosch
f48838ef3f (svn r21926) -Fix [FS#4450](r21924): v != w. 2011-01-29 23:42:40 +00:00
alberth
eea2f90da7 (svn r21925) -Doc: Doxygen additions and markup corrections to vehicle-related functions. 2011-01-29 21:37:11 +00:00
terkhen
734994c9ba (svn r21924) -Codechange: Unify some parts of the articulated vehicle code.
-Cleanup: Avoid conversions to Train and RoadVehicle that are no longer required.
2011-01-29 17:30:25 +00:00
terkhen
50b0e10026 (svn r21923) -Codechange: Unify articulated vehicle iteration functions. 2011-01-29 17:27:32 +00:00
terkhen
9626e0bf2b (svn r21922) -Codechange: Unify articulated vehicle checking functions. 2011-01-29 17:26:23 +00:00
terkhen
23ffef05ce (svn r21921) -Codechange: Move GroundVehicleSubtypeFlags as they will be needed by some Vehicle functions. 2011-01-29 17:21:39 +00:00
translators
3cd1f15523 (svn r21920) -Update from WebTranslator v3.0:
basque - 25 changes by Thadah
greek - 6 changes by fumantsu
spanish - 1 changes by Terkhen
2011-01-27 18:45:10 +00:00
planetmaker
5e82fee690 (svn r21919) -Fix: Converting an expensive rail type to a cheap one could give more money than removing and rebuilding cost 2011-01-27 00:38:12 +00:00
rubidium
62e5afcdf8 (svn r21918) -Fix [FS#4443]: Languages improperly sorted in the "start server" window (adf88) 2011-01-26 22:42:50 +00:00
translators
a7634b399d (svn r21917) -Update from WebTranslator v3.0:
basque - 28 changes by Thadah
indonesian - 15 changes by adjayanto
japanese - 11 changes by kokubunzi
luxembourgish - 250 changes by Phreeze
brazilian_portuguese - 130 changes by Luis_Mizuchiro
2011-01-26 18:45:17 +00:00
rubidium
ab4c419fcf (svn r21916) -Fix [FS#4442]: 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 2011-01-26 17:37:12 +00:00
rubidium
430fda01dc (svn r21915) -Codechange: rename RoadVehicleAccelerate to RoadVehicle::UpdateSpeed (to match the naming used by Trains), and make use of the algorithm implemented in GroundVehicle 2011-01-26 17:35:03 +00:00
rubidium
b4a175ba41 (svn r21914) -Codechange: move the algorithmic part of Train::UpdateSpeed to a function in GroundVehicle 2011-01-26 17:34:07 +00:00
rubidium
982de9cf86 (svn r21913) -Codechange: move bridge speed limiting for road vehicles to the same (logically speaking) place as for trains 2011-01-26 17:33:14 +00:00
rubidium
4fff63d790 (svn r21912) -Codechange: let road vehicles use gcache.last_speed/SetLastSpeed as well 2011-01-26 17:31:44 +00:00
rubidium
b11f1bd4ed (svn r21911) -Codechange: move tcache.last_speed to gcache.last_speed and make SetLastSpeed a function of GroundVehicle 2011-01-26 17:31:07 +00:00
rubidium
12b64a12b0 (svn r21910) -Codechange: rename some autoreplace internal functions so they don't collide with globabl functions 2011-01-26 17:30:17 +00:00
rubidium
8017c2a3d7 (svn r21909) -Fix: some missing spaces 2011-01-26 08:14:36 +00:00
translators
2bec6123f7 (svn r21908) -Update from WebTranslator v3.0:
german - 2 changes by dihedral
brazilian_portuguese - 36 changes by Luis_Mizuchiro
ukrainian - 3 changes by Fixer
2011-01-25 18:45:13 +00:00
translators
83ad2c4dfa (svn r21906) -Update from WebTranslator v3.0:
polish - 2 changes by Simek
spanish - 1 changes by Terkhen
turkish - 4 changes by niw3
ukrainian - 2 changes by Fixer
2011-01-24 18:45:17 +00:00
translators
4c37e0ec2c (svn r21905) -Update from WebTranslator v3.0:
japanese - 6 changes by kokubunzi
polish - 13 changes by Simek
slovenian - 2 changes by ntadej
spanish - 4 changes by Terkhen
ukrainian - 2 changes by Fixer
2011-01-23 18:45:20 +00:00
frosch
072f6d67ef (svn r21904) -Fix: Include the capacity of non-refittable vehicles in the refitted-capacity, if their cargo matches. 2011-01-23 18:31:04 +00:00
smatz
25a22ec255 (svn r21903) -Codechange: warn only once for a train that has invalid length, not for each its wagon with invalid length 2011-01-23 17:50:24 +00:00
frosch
9a1c0f139a (svn r21902) -Fix: Do not count articulated parts when passing the number of vehicles to refit to the command. That may exceed 8 bits. 2011-01-23 14:58:54 +00:00
frosch
3f103c35a6 (svn r21901) -Codechange: Save some bits in p2 of CmdRefitVehicle. 2011-01-23 13:25:26 +00:00
yexo
967bb84af3 (svn r21900) -Fix: [NoAI] hide automatic orders from AIs as they have no way of dealing with them 2011-01-23 13:08:50 +00:00
frosch
890a18c738 (svn r21899) -Fix: Do not show a vehicle selection in the RefitWindow for refit orders. You cannot select anything anyway. 2011-01-23 13:00:50 +00:00
rubidium
81ef0dbcfc (svn r21898) -Fix [FS#4438]: using a pointer-iterator and adding things (thus reallocating) to the iterated array caused OpenTTD to crash on invalid pointers 2011-01-23 11:20:55 +00:00
rubidium
0de8332366 (svn r21897) -Fix (21707): Kenobi visited IsValidConsoleColour shortly 2011-01-23 00:11:15 +00:00
rubidium
1339d75f75 (svn r21896) -Cleanup: remove the unused StartScenario 2011-01-22 23:13:39 +00:00
rubidium
d74fc0bee3 (svn r21895) -Cleanup: get rid of the unused SLD_NEW_GAME 2011-01-22 23:08:32 +00:00
rubidium
7eadf07e44 (svn r21894) -Cleanup: get rid of the unused SM_START_SCENARIO 2011-01-22 23:08:18 +00:00
rubidium
0537672324 (svn r21893) -Update (r21892): remove the strings from the other language files as well 2011-01-22 23:07:51 +00:00
rubidium
cc8da3e5ab (svn r21892) -Fix [FS#4421]: only some scenarios from the main scenario folder and no heightmaps could be started in the "start server" window 2011-01-22 23:07:23 +00:00
translators
03fb95f92f (svn r21891) -Update from WebTranslator v3.0:
danish - 1 changes by nurriz
japanese - 12 changes by kokubunzi
slovenian - 1 changes by ntadej
turkish - 107 changes by niw3
ukrainian - 60 changes by Fixer
2011-01-22 18:45:21 +00:00
rubidium
7eba2bf4d3 (svn r21890) -Cleanup: remove some unneeded includes 2011-01-22 14:52:20 +00:00
rubidium
849772f0fd (svn r21889) -Fix [FS#4434]: crash when scrolling outside of the main window (with some video backends) 2011-01-22 14:51:36 +00:00
rubidium
9e8db65223 (svn r21888) -Codechange: remove some unneeded (for the AI header) headers from some AI headers, reducing the include tree 2011-01-22 10:33:16 +00:00
rubidium
6ff844e7c4 (svn r21887) -Fix-ish: some headers weren't including the headers they depend on 2011-01-22 10:10:03 +00:00
rubidium
eb299736c1 (svn r21886) -Codechange: move documentation towards the code to make it more likely to be updated [n]. 2011-01-22 09:53:15 +00:00
yexo
0cdb1c78cd (svn r21885) -Fix [FS#4422]: NewGRF string codes 0x80 and 0x81 were broken since the typechecking of string parameters 2011-01-21 23:10:02 +00:00
translators
c9bd9b0c23 (svn r21884) -Update from WebTranslator v3.0:
bulgarian - 19 changes by yxomo
greek - 15 changes by Gonik, fumantsu
japanese - 201 changes by kokubunzi, nex259
ukrainian - 100 changes by Fixer
2011-01-21 18:45:18 +00:00
smatz
8b9f0d5ade (svn r21883) -Codechange: make UpdateZPosition() faster by not calling GetSlopeZ() when not needed 2011-01-21 17:35:17 +00:00
smatz
e860075a16 (svn r21882) -Codechange: make use of the fact that vehicle's Z position can change only if it has GVF_GOINGUP_BIT or GVF_GOINGDOWN_BIT set 2011-01-21 16:51:56 +00:00
smatz
2a2363e819 (svn r21881) -Codechange: ensure that vehicle's GOINGUP/DOWN bits are set correctly and that it has correct z_pos when converting from older savegames 2011-01-21 16:48:41 +00:00
smatz
a6fcd78538 (svn r21880) -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 2011-01-21 16:35:12 +00:00
smatz
e308c348f0 (svn r21879) -Codechange: reset vehicle's GOINGUP/DOWN bits when it crashes 2011-01-21 16:20:55 +00:00
smatz
46dfdfd72b (svn r21878) -Codechange: move parts of UpdateInclination() to separate functions 2011-01-21 16:13:54 +00:00
smatz
4432f7799d (svn r21877) -Codechange: move definition of HALF_TILE_SIZE to tile_type.h 2011-01-21 15:48:52 +00:00
smatz
6dc24cf643 (svn r21876) -Codechange: typedef SpecializedVehicleBase and GroundVehicleBase to reduce typing 2011-01-21 14:43:38 +00:00
smatz
656caf16db (svn r21875) -Codechange: indentation of some comments was wrong 2011-01-21 01:38:30 +00:00
smatz
1ac51128f5 (svn r21874) -Fix: when a single-vehicle train was reversed while on a slope, its GOINGUP/DOWN weren't swapped 2011-01-21 00:11:13 +00:00
366 changed files with 5549 additions and 5272 deletions

View File

@@ -319,3 +319,5 @@ AIIndustry.IsCargoAccepted <- function(industry_id, cargo_id)
AIAbstractList <- AIList;
AIList.ChangeItem <- AIList.SetValue;
AIRail.ERR_NONUNIFORM_STATIONS_DISABLED <- 0xFFFF;

View File

@@ -70,3 +70,5 @@ AIIndustry.IsCargoAccepted <- function(industry_id, cargo_id)
AIAbstractList <- AIList;
AIList.ChangeItem <- AIList.SetValue;
AIRail.ERR_NONUNIFORM_STATIONS_DISABLED <- 0xFFFF;

View File

@@ -15,3 +15,6 @@ regression =
[vehicle]
road_side = right
plane_speed = 2
[construction]
max_bridge_length = 100

View File

@@ -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

View File

@@ -1,3 +1,91 @@
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)

View File

@@ -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() {
@@ -2265,6 +2271,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

View File

@@ -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.

View File

@@ -1,6 +1,6 @@
OpenTTD's known bugs
Last updated: 2011-01-21
Release version: 1.1.0-beta4
Last updated: 2011-02-18
Release version: 1.1.0-RC1
------------------------------------------------------------------------
@@ -39,7 +39,6 @@ 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
2.1) Known bugs that will not be solved
@@ -212,6 +211,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

View File

@@ -1,3 +1,15 @@
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

View File

@@ -1,6 +1,6 @@
@echo off
set OPENTTD_VERSION=1.1.0-beta4
set OPENTTD_VERSION=1.1.0-RC1
set OPENSFX_VERSION=0.8.0
set NOSOUND_VERSION=0.8.0
set OPENGFX_VERSION=0.7.0

View File

@@ -2,8 +2,8 @@
!define APPV_MAJOR 1
!define APPV_MINOR 1
!define APPV_MAINT 0
!define APPV_BUILD 3
!define APPV_EXTRA "-beta4"
!define APPV_BUILD 5
!define APPV_EXTRA "-RC1"
!define APPNAME "OpenTTD" ; Define application name
!define APPVERSION "${APPV_MAJOR}.${APPV_MINOR}.${APPV_MAINT}${APPV_EXTRA}" ; Define application version

View File

@@ -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" />

View File

@@ -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>

View File

@@ -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"
>

View File

@@ -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"
>

View File

@@ -1,6 +1,6 @@
OpenTTD readme
Last updated: 2011-01-21
Release version: 1.1.0-beta4
Last updated: 2011-02-18
Release version: 1.1.0-RC1
------------------------------------------------------------------------
@@ -534,9 +534,9 @@ 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

View File

@@ -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

View File

@@ -597,6 +597,7 @@ public:
}
SQInteger Factor()
{
_exst._deref = DEREF_NO_DEREF;
switch(_token)
{
case TK_STRING_LITERAL: {

View File

@@ -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 */

View File

@@ -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"

View File

@@ -289,9 +289,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)

View File

@@ -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"

View File

@@ -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"

View File

@@ -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. */

View File

@@ -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());
}

View File

@@ -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.

View File

@@ -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"

View File

@@ -9,6 +9,7 @@
/** @file ai_accounting.cpp Implementation of AIAccounting. */
#include "../../stdafx.h"
#include "ai_accounting.hpp"
Money AIAccounting::GetCosts()

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -12,7 +12,6 @@
#ifndef AI_BASESTATION_HPP
#define AI_BASESTATION_HPP
#include "ai_object.hpp"
#include "ai_error.hpp"
/**

View File

@@ -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)

View File

@@ -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.

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -33,6 +33,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.

View File

@@ -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"

View File

@@ -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"

View File

@@ -9,6 +9,7 @@
/** @file ai_date.cpp Implementation of AIDate. */
#include "../../stdafx.h"
#include "ai_date.hpp"
#include "../../date_func.h"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -9,6 +9,7 @@
/** @file ai_error.cpp Implementation of AIError. */
#include "../../stdafx.h"
#include "ai_error.hpp"
#include "../../core/bitmath_func.hpp"

View File

@@ -9,6 +9,7 @@
/** @file ai_event.cpp Implementation of AIEvent. */
#include "../../stdafx.h"
#include "ai_event_types.hpp"
#include <queue>

View File

@@ -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);
}

View File

@@ -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"
@@ -297,6 +296,7 @@ public:
private:
EngineID engine;
bool IsEngineValid() const;
};
/**

View File

@@ -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"

View File

@@ -9,6 +9,7 @@
/** @file ai_gamesettings.cpp Implementation of AIGameSettings. */
#include "../../stdafx.h"
#include "ai_gamesettings.hpp"
#include "../../settings_internal.h"

View File

@@ -12,7 +12,6 @@
#ifndef AI_GAMESETTINGS_HPP
#define AI_GAMESETTINGS_HPP
#include "ai_object.hpp"
#include "ai_vehicle.hpp"
/**

View File

@@ -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"

View File

@@ -12,7 +12,6 @@
#ifndef AI_GROUP_HPP
#define AI_GROUP_HPP
#include "ai_object.hpp"
#include "ai_vehicle.hpp"
/**

View File

@@ -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"

View File

@@ -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"

View File

@@ -9,6 +9,7 @@
/** @file ai_industrylist.cpp Implementation of AIIndustryList and friends. */
#include "../../stdafx.h"
#include "ai_industrylist.hpp"
#include "../../industry.h"

View File

@@ -9,8 +9,10 @@
/** @file ai_industrytype.cpp Implementation of AIIndustryType. */
#include "../../stdafx.h"
#include "ai_industrytype.hpp"
#include "ai_map.hpp"
#include "ai_error.hpp"
#include "../../strings_func.h"
#include "../../industry.h"
#include "../../newgrf_industries.h"

View File

@@ -12,8 +12,6 @@
#ifndef AI_INDUSTRYTYPE_HPP
#define AI_INDUSTRYTYPE_HPP
#include "ai_object.hpp"
#include "ai_error.hpp"
#include "ai_list.hpp"
/**

View File

@@ -9,6 +9,7 @@
/** @file ai_industrytypelist.cpp Implementation of AIIndustryTypeList. */
#include "../../stdafx.h"
#include "ai_industrytypelist.hpp"
#include "../../industry.h"

View File

@@ -12,7 +12,6 @@
#ifndef AI_INDUSTRYTYPELIST_HPP
#define AI_INDUSTRYTYPELIST_HPP
#include "ai_list.hpp"
#include "ai_industrytype.hpp"
/**

View File

@@ -9,6 +9,7 @@
/** @file ai_list.cpp Implementation of AIList. */
#include "../../stdafx.h"
#include "ai_list.hpp"
#include "../../debug.h"
#include "../../script/squirrel.hpp"

View File

@@ -9,6 +9,7 @@
/** @file ai_log.cpp Implementation of AILog. */
#include "../../stdafx.h"
#include "ai_log.hpp"
#include "../../core/alloc_func.hpp"
#include "../../company_func.h"

View File

@@ -9,6 +9,7 @@
/** @file ai_map.cpp Implementation of AIMap. */
#include "../../stdafx.h"
#include "ai_map.hpp"
#include "../../tile_map.h"

View File

@@ -9,6 +9,7 @@
/** @file ai_marine.cpp Implementation of AIMarine. */
#include "../../stdafx.h"
#include "ai_marine.hpp"
#include "ai_station.hpp"
#include "../../station_base.h"

View File

@@ -12,7 +12,6 @@
#ifndef AI_MARINE_HPP
#define AI_MARINE_HPP
#include "ai_object.hpp"
#include "ai_error.hpp"
/**

View File

@@ -11,7 +11,11 @@
#include "../../stdafx.h"
#include "../../script/squirrel.hpp"
#include "../../command_func.h"
#include "../../company_base.h"
#include "../../company_func.h"
#include "../../network/network.h"
#include "../../tunnelbridge.h"
#include "../ai_storage.hpp"
#include "../ai_instance.hpp"

View File

@@ -12,7 +12,6 @@
#ifndef AI_OBJECT_HPP
#define AI_OBJECT_HPP
#include "../../stdafx.h"
#include "../../misc/countedptr.hpp"
#include "../../road_type.h"
#include "../../rail_type.h"

View File

@@ -9,6 +9,8 @@
/** @file ai_order.cpp Implementation of AIOrder. */
#include "../../stdafx.h"
#include "ai_order.hpp"
#include "ai_vehicle.hpp"
#include "../ai_instance.hpp"
#include "../../debug.h"
@@ -46,7 +48,7 @@ static OrderType GetOrderTypeByTile(TileIndex t)
/* static */ bool AIOrder::IsValidVehicleOrder(VehicleID vehicle_id, OrderPosition order_position)
{
return AIVehicle::IsValidVehicle(vehicle_id) && order_position >= 0 && (order_position < ::Vehicle::Get(vehicle_id)->GetNumOrders() || order_position == ORDER_CURRENT);
return AIVehicle::IsValidVehicle(vehicle_id) && order_position >= 0 && (order_position < ::Vehicle::Get(vehicle_id)->GetNumManualOrders() || order_position == ORDER_CURRENT);
}
/**
@@ -63,7 +65,14 @@ static const Order *ResolveOrder(VehicleID vehicle_id, AIOrder::OrderPosition or
order_position = AIOrder::ResolveOrderPosition(vehicle_id, order_position);
if (order_position == AIOrder::ORDER_INVALID) return NULL;
}
return v->GetOrder(order_position);
const Order *order = v->orders.list->GetFirstOrder();
while (order->GetType() == OT_AUTOMATIC) order = order->next;
while (order_position > 0) {
order_position = (AIOrder::OrderPosition)(order_position - 1);
order = order->next;
while (order->GetType() == OT_AUTOMATIC) order = order->next;
}
return order;
}
/* static */ bool AIOrder::IsGotoStationOrder(VehicleID vehicle_id, OrderPosition order_position)
@@ -122,8 +131,18 @@ static const Order *ResolveOrder(VehicleID vehicle_id, AIOrder::OrderPosition or
{
if (!AIVehicle::IsValidVehicle(vehicle_id)) return ORDER_INVALID;
if (order_position == ORDER_CURRENT) return (AIOrder::OrderPosition)::Vehicle::Get(vehicle_id)->cur_order_index;
return (order_position >= 0 && order_position < ::Vehicle::Get(vehicle_id)->GetNumOrders()) ? order_position : ORDER_INVALID;
if (order_position == ORDER_CURRENT) {
int cur_order_pos = ::Vehicle::Get(vehicle_id)->cur_real_order_index;
const Order *order = ::Vehicle::Get(vehicle_id)->GetOrder(0);
if (order == NULL) return ORDER_INVALID;
int num_automatic_orders = 0;
for (int i = 0; i < cur_order_pos; i++) {
if (order->GetType() == OT_AUTOMATIC) num_automatic_orders++;
order = order->next;
}
return (AIOrder::OrderPosition)(cur_order_pos - num_automatic_orders);
}
return (order_position >= 0 && order_position < ::Vehicle::Get(vehicle_id)->GetNumManualOrders()) ? order_position : ORDER_INVALID;
}
@@ -260,7 +279,7 @@ static const Order *ResolveOrder(VehicleID vehicle_id, AIOrder::OrderPosition or
if (!IsValidVehicleOrder(vehicle_id, order_position)) return ORDER_INVALID;
if (order_position == ORDER_CURRENT || !IsConditionalOrder(vehicle_id, order_position)) return ORDER_INVALID;
const Order *order = Vehicle::Get(vehicle_id)->GetOrder(order_position);
const Order *order = ::ResolveOrder(vehicle_id, order_position);
return (OrderPosition)order->GetConditionSkipToOrder();
}
@@ -269,7 +288,7 @@ static const Order *ResolveOrder(VehicleID vehicle_id, AIOrder::OrderPosition or
if (!IsValidVehicleOrder(vehicle_id, order_position)) return OC_INVALID;
if (order_position == ORDER_CURRENT || !IsConditionalOrder(vehicle_id, order_position)) return OC_INVALID;
const Order *order = Vehicle::Get(vehicle_id)->GetOrder(order_position);
const Order *order = ::ResolveOrder(vehicle_id, order_position);
return (OrderCondition)order->GetConditionVariable();
}
@@ -278,7 +297,7 @@ static const Order *ResolveOrder(VehicleID vehicle_id, AIOrder::OrderPosition or
if (!IsValidVehicleOrder(vehicle_id, order_position)) return CF_INVALID;
if (order_position == ORDER_CURRENT || !IsConditionalOrder(vehicle_id, order_position)) return CF_INVALID;
const Order *order = Vehicle::Get(vehicle_id)->GetOrder(order_position);
const Order *order = ::ResolveOrder(vehicle_id, order_position);
return (CompareFunction)order->GetConditionComparator();
}
@@ -287,7 +306,7 @@ static const Order *ResolveOrder(VehicleID vehicle_id, AIOrder::OrderPosition or
if (!IsValidVehicleOrder(vehicle_id, order_position)) return -1;
if (order_position == ORDER_CURRENT || !IsConditionalOrder(vehicle_id, order_position)) return -1;
const Order *order = Vehicle::Get(vehicle_id)->GetOrder(order_position);
const Order *order = ::ResolveOrder(vehicle_id, order_position);
int32 value = order->GetConditionValue();
if (order->GetConditionVariable() == OCV_MAX_SPEED) value = value * 16 / 10;
return value;
@@ -299,7 +318,7 @@ static const Order *ResolveOrder(VehicleID vehicle_id, AIOrder::OrderPosition or
if (AIVehicle::GetVehicleType(vehicle_id) != AIVehicle::VT_RAIL) return STOPLOCATION_INVALID;
if (!IsGotoStationOrder(vehicle_id, order_position)) return STOPLOCATION_INVALID;
const Order *order = Vehicle::Get(vehicle_id)->GetOrder(order_position);
const Order *order = ::ResolveOrder(vehicle_id, order_position);
return (AIOrder::StopLocation)order->GetStopLocation();
}
@@ -486,10 +505,12 @@ static void _DoCommandReturnSetOrderFlags(class AIInstance *instance)
EnforcePrecondition(false, IsValidVehicleOrder(vehicle_id, order_position));
EnforcePrecondition(false, AreOrderFlagsValid(GetOrderDestination(vehicle_id, order_position), order_flags));
const Order *order = Vehicle::Get(vehicle_id)->GetOrder(order_position);
const Order *order = ::ResolveOrder(vehicle_id, order_position);
AIOrderFlags current = GetOrderFlags(vehicle_id, order_position);
EnforcePrecondition(false, (order_flags & AIOF_GOTO_NEAREST_DEPOT) == (current & AIOF_GOTO_NEAREST_DEPOT));
if ((current & AIOF_NON_STOP_FLAGS) != (order_flags & AIOF_NON_STOP_FLAGS)) {
return AIObject::DoCommand(0, vehicle_id | (order_position << 20), (order_flags & AIOF_NON_STOP_FLAGS) << 4 | MOF_NON_STOP, CMD_MODIFY_ORDER, NULL, &_DoCommandReturnSetOrderFlags);
}

View File

@@ -12,7 +12,6 @@
#ifndef AI_ORDER_HPP
#define AI_ORDER_HPP
#include "ai_object.hpp"
#include "ai_error.hpp"
/**
@@ -113,7 +112,13 @@ public:
CF_INVALID = -1, ///< Invalid compare function, do not use.
};
/** Different constants related to the OrderPosition */
/**
* Index in the list of orders for a vehicle. The first order has index 0, the second
* order index 1, etc. The current order can be queried by using ORDER_CURRENT. Do not
* use ORDER_INVALID yourself, it's used as return value by for example ResolveOrderPosition.
* @note Automatic orders are hidden from AIs, so OrderPosition 0 will always be the first
* manual order.
*/
enum OrderPosition {
ORDER_CURRENT = 0xFF, ///< Constant that gets resolved to the current order.
ORDER_INVALID = -1, ///< An invalid order.
@@ -452,6 +457,7 @@ public:
* @param order_flags The new flags given to the order.
* @pre IsValidVehicleOrder(vehicle_id, order_position).
* @pre AreOrderFlagsValid(GetOrderDestination(vehicle_id, order_position), order_flags).
* @pre (order_flags & AIOF_GOTO_NEAREST_DEPOT) == (GetOrderFlags(vehicle_id, order_position) & AIOF_GOTO_NEAREST_DEPOT).
* @exception AIError::ERR_OWNED_BY_ANOTHER_COMPANY
* @return True if and only if the order was changed.
*/

View File

@@ -9,6 +9,7 @@
/** @file ai_rail.cpp Implementation of AIRail. */
#include "../../stdafx.h"
#include "ai_rail.hpp"
#include "ai_map.hpp"
#include "ai_station.hpp"

View File

@@ -12,8 +12,6 @@
#ifndef AI_RAIL_HPP
#define AI_RAIL_HPP
#include "ai_object.hpp"
#include "ai_error.hpp"
#include "ai_tile.hpp"
/**
@@ -37,9 +35,6 @@ public:
/** Track not suitable for signals */
ERR_UNSUITABLE_TRACK, // [STR_ERROR_NO_SUITABLE_RAILROAD_TRACK]
/** Non-uniform stations is diabled */
ERR_NONUNIFORM_STATIONS_DISABLED, // [STR_ERROR_NONUNIFORM_STATIONS_DISALLOWED]
/** This railtype cannot have crossings */
ERR_RAILTYPE_DISALLOWS_CROSSING, // [STR_ERROR_CROSSING_DISALLOWED]
};

View File

@@ -41,7 +41,6 @@ void SQAIRail_Register(Squirrel *engine)
SQAIRail.DefSQConst(engine, AIRail::ERR_RAIL_BASE, "ERR_RAIL_BASE");
SQAIRail.DefSQConst(engine, AIRail::ERR_CROSSING_ON_ONEWAY_ROAD, "ERR_CROSSING_ON_ONEWAY_ROAD");
SQAIRail.DefSQConst(engine, AIRail::ERR_UNSUITABLE_TRACK, "ERR_UNSUITABLE_TRACK");
SQAIRail.DefSQConst(engine, AIRail::ERR_NONUNIFORM_STATIONS_DISABLED, "ERR_NONUNIFORM_STATIONS_DISABLED");
SQAIRail.DefSQConst(engine, AIRail::ERR_RAILTYPE_DISALLOWS_CROSSING, "ERR_RAILTYPE_DISALLOWS_CROSSING");
SQAIRail.DefSQConst(engine, AIRail::RAILTYPE_INVALID, "RAILTYPE_INVALID");
SQAIRail.DefSQConst(engine, AIRail::RAILTRACK_NE_SW, "RAILTRACK_NE_SW");
@@ -71,12 +70,10 @@ void SQAIRail_Register(Squirrel *engine)
AIError::RegisterErrorMap(STR_ERROR_CROSSING_ON_ONEWAY_ROAD, AIRail::ERR_CROSSING_ON_ONEWAY_ROAD);
AIError::RegisterErrorMap(STR_ERROR_NO_SUITABLE_RAILROAD_TRACK, AIRail::ERR_UNSUITABLE_TRACK);
AIError::RegisterErrorMap(STR_ERROR_NONUNIFORM_STATIONS_DISALLOWED, AIRail::ERR_NONUNIFORM_STATIONS_DISABLED);
AIError::RegisterErrorMap(STR_ERROR_CROSSING_DISALLOWED, AIRail::ERR_RAILTYPE_DISALLOWS_CROSSING);
AIError::RegisterErrorMapString(AIRail::ERR_CROSSING_ON_ONEWAY_ROAD, "ERR_CROSSING_ON_ONEWAY_ROAD");
AIError::RegisterErrorMapString(AIRail::ERR_UNSUITABLE_TRACK, "ERR_UNSUITABLE_TRACK");
AIError::RegisterErrorMapString(AIRail::ERR_NONUNIFORM_STATIONS_DISABLED, "ERR_NONUNIFORM_STATIONS_DISABLED");
AIError::RegisterErrorMapString(AIRail::ERR_RAILTYPE_DISALLOWS_CROSSING, "ERR_RAILTYPE_DISALLOWS_CROSSING");
SQAIRail.DefSQStaticMethod(engine, &AIRail::GetName, "GetName", 2, ".i");

View File

@@ -9,6 +9,7 @@
/** @file ai_railtypelist.cpp Implementation of AIRailTypeList and friends. */
#include "../../stdafx.h"
#include "ai_railtypelist.hpp"
#include "../../rail.h"
#include "../../company_func.h"

View File

@@ -9,6 +9,7 @@
/** @file ai_road.cpp Implementation of AIRoad. */
#include "../../stdafx.h"
#include "ai_map.hpp"
#include "ai_station.hpp"
#include "ai_cargo.hpp"

View File

@@ -12,8 +12,6 @@
#ifndef AI_ROAD_HPP
#define AI_ROAD_HPP
#include "ai_object.hpp"
#include "ai_error.hpp"
#include "ai_tile.hpp"
/**

View File

@@ -9,6 +9,7 @@
/** @file ai_sign.cpp Implementation of AISign. */
#include "../../stdafx.h"
#include "ai_sign.hpp"
#include "table/strings.h"
#include "../ai_instance.hpp"

View File

@@ -12,9 +12,7 @@
#ifndef AI_SIGN_HPP
#define AI_SIGN_HPP
#include "ai_object.hpp"
#include "ai_error.hpp"
#include "ai_company.hpp"
/**
* Class that handles all sign related functions.

View File

@@ -9,6 +9,7 @@
/** @file ai_signlist.cpp Implementation of AISignList and friends. */
#include "../../stdafx.h"
#include "ai_signlist.hpp"
#include "ai_sign.hpp"
#include "../../signs_base.h"

View File

@@ -9,6 +9,7 @@
/** @file ai_station.cpp Implementation of AIStation. */
#include "../../stdafx.h"
#include "ai_station.hpp"
#include "ai_cargo.hpp"
#include "ai_map.hpp"

View File

@@ -12,8 +12,6 @@
#ifndef AI_STATION_HPP
#define AI_STATION_HPP
#include "ai_object.hpp"
#include "ai_error.hpp"
#include "ai_road.hpp"
#include "ai_basestation.hpp"

View File

@@ -9,6 +9,7 @@
/** @file ai_stationlist.cpp Implementation of AIStationList and friends. */
#include "../../stdafx.h"
#include "ai_stationlist.hpp"
#include "ai_vehicle.hpp"
#include "../../company_func.h"

View File

@@ -9,6 +9,7 @@
/** @file ai_subsidy.cpp Implementation of AISubsidy. */
#include "../../stdafx.h"
#include "ai_subsidy.hpp"
#include "ai_date.hpp"
#include "../../subsidy_base.h"

View File

@@ -12,7 +12,6 @@
#ifndef AI_SUBSIDY_HPP
#define AI_SUBSIDY_HPP
#include "ai_object.hpp"
#include "ai_company.hpp"
/**

View File

@@ -9,6 +9,7 @@
/** @file ai_subsidylist.cpp Implementation of AISubsidyList. */
#include "../../stdafx.h"
#include "ai_subsidylist.hpp"
#include "../../subsidy_base.h"

View File

@@ -9,6 +9,7 @@
/** @file ai_testmode.cpp Implementation of AITestMode. */
#include "../../stdafx.h"
#include "ai_testmode.hpp"
#include "../../company_base.h"
#include "../../company_func.h"

View File

@@ -9,6 +9,7 @@
/** @file ai_tile.cpp Implementation of AITile. */
#include "../../stdafx.h"
#include "ai_tile.hpp"
#include "ai_map.hpp"
#include "ai_town.hpp"

View File

@@ -12,7 +12,6 @@
#ifndef AI_TILE_HPP
#define AI_TILE_HPP
#include "ai_list.hpp"
#include "ai_error.hpp"
#include "ai_company.hpp"

View File

@@ -9,6 +9,7 @@
/** @file ai_tilelist.cpp Implementation of AITileList and friends. */
#include "../../stdafx.h"
#include "ai_tilelist.hpp"
#include "ai_industry.hpp"
#include "../../industry.h"

View File

@@ -12,8 +12,8 @@
#ifndef AI_TILELIST_HPP
#define AI_TILELIST_HPP
#include "ai_list.hpp"
#include "ai_station.hpp"
#include "ai_list.hpp"
/**
* Creates an empty list, in which you can add tiles.

View File

@@ -9,6 +9,7 @@
/** @file ai_town.cpp Implementation of AITown. */
#include "../../stdafx.h"
#include "ai_town.hpp"
#include "ai_map.hpp"
#include "ai_cargo.hpp"

View File

@@ -12,7 +12,6 @@
#ifndef AI_TOWN_HPP
#define AI_TOWN_HPP
#include "ai_object.hpp"
#include "ai_company.hpp"
/**

View File

@@ -9,6 +9,7 @@
/** @file ai_townlist.cpp Implementation of AITownList and friends. */
#include "../../stdafx.h"
#include "ai_townlist.hpp"
#include "../../town.h"

View File

@@ -9,6 +9,7 @@
/** @file ai_tunnel.cpp Implementation of AITunnel. */
#include "../../stdafx.h"
#include "ai_tunnel.hpp"
#include "ai_rail.hpp"
#include "../ai_instance.hpp"

View File

@@ -12,7 +12,6 @@
#ifndef AI_TUNNEL_HPP
#define AI_TUNNEL_HPP
#include "ai_object.hpp"
#include "ai_vehicle.hpp"
/**

View File

@@ -9,6 +9,7 @@
/** @file ai_vehicle.cpp Implementation of AIVehicle. */
#include "../../stdafx.h"
#include "ai_engine.hpp"
#include "ai_cargo.hpp"
#include "ai_gamesettings.hpp"

View File

@@ -12,10 +12,7 @@
#ifndef AI_VEHICLE_HPP
#define AI_VEHICLE_HPP
#include "ai_object.hpp"
#include "ai_error.hpp"
#include "ai_road.hpp"
#include "ai_order.hpp"
/**
* Class that handles all vehicle related functions.

View File

@@ -9,6 +9,7 @@
/** @file ai_vehiclelist.cpp Implementation of AIVehicleList and friends. */
#include "../../stdafx.h"
#include "ai_vehiclelist.hpp"
#include "ai_group.hpp"
#include "ai_map.hpp"

View File

@@ -9,6 +9,7 @@
/** @file ai_waypoint.cpp Implementation of AIWaypoint. */
#include "../../stdafx.h"
#include "ai_waypoint.hpp"
#include "ai_rail.hpp"
#include "ai_marine.hpp"

View File

@@ -12,8 +12,6 @@
#ifndef AI_WAYPOINT_HPP
#define AI_WAYPOINT_HPP
#include "ai_object.hpp"
#include "ai_error.hpp"
#include "ai_basestation.hpp"
/**

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