Commit Graph

162 Commits

Author SHA1 Message Date
Michael Lutz
33ca4f2b99 Codechange: Let the compile generate the master command table out of templated command traits.
This is using a non-intrusive type-traits like templated system, which
allows compile-time validation that the command table and the command
enum match up.
2021-12-16 22:28:32 +01:00
Michael Lutz
b6933a2ebd Codechange: Move command arguments to the back of the DoCommand function call. 2021-12-16 22:28:32 +01:00
Tyler Trahan
e9cb9c1135
Fix #9579: Object and HQ construction is Construction cost, not Property Maintenance (#9673) 2021-11-08 08:12:15 +00:00
SamuXarick
e404d16929
Fix #9591: Update station docking tiles upon placing a water object on a docking tile (#9594) 2021-10-03 12:54:19 +02:00
dP
39662aabef
Add: allow gamescripts to build neutral objects (#9568) 2021-09-25 13:39:40 +02:00
Charles Pigott
d4588df9f9 Fix #9527: Crash when trying to place multitile objects at map edge 2021-09-11 23:10:50 +01:00
rubidium42
2e136285e1 Codechange: move from C-string to std::string for DoCommand 2021-05-29 19:02:18 +02:00
glx22
38c97e1492 Codechange: Replace TILE_AREA_LOOP with range-based for loops 2021-05-13 00:13:54 +02:00
Charles Pigott
d9df20d102 Change: Use a more specific error message when attempting to bulldoze your own HQ 2021-02-13 18:10:13 +00:00
Charles Pigott
9b800a96ed
Codechange: Remove min/max functions in favour of STL variants (#8502) 2021-01-08 11:16:18 +01:00
Patric Stout
28c13ec90f
Fix #8168: allow relocating of HQ partial over existing HQ (#8510)
Just in case you want to move it SLIGHTLY to the right.
2021-01-06 22:37:57 +01:00
glx
514565fad6 Codechange: Replace FOR_ALL_OBJECTS with range-based for loops 2019-12-21 20:13:03 +01:00
S. D. Cloudt
13cc8a0cee Cleanup: Removed SVN headers 2019-11-10 17:59:20 +00:00
Samu
3d362f2513 Fix #7697: Add a Missing AddProducedCargo proc for HQ
On TileLoop_Object, HQs are able to produce and move passengers and mail to stations, but querying the HQ tiles for cargo supplied was returning nothing. This makes it so that they return +1 to both passengers and mail.
2019-11-10 17:58:02 +00:00
JMcKiern
04f659e768 Fix: Some typos found using codespell 2019-09-29 21:27:32 +01:00
Henry Wilson
7c8e7c6b6e Codechange: Use null pointer literal instead of the NULL macro 2019-04-10 23:22:20 +02:00
PeterN
812886ca61
Fix #7478: Don't remove NewGRF objects on company take-over. (#7483) 2019-04-08 19:20:43 +01:00
Henry Wilson
c01a2e2a81 Codechange: Removed SmallVector completely 2019-03-26 20:15:57 +00:00
Henry Wilson
ab711e6942 Codechange: Replaced SmallVector::[Begin|End]() with std alternatives 2019-03-26 20:15:57 +00:00
Henry Wilson
a0f36a50e6 Codechange: Replaced SmallVector::Append() with std::vector::[push|emplace]_back() 2019-03-26 20:15:57 +00:00
Johannes E. Krause
234f1007f7 Cleanup: Remove questionable syntax in HQ size calculation 2019-03-13 07:47:32 +00:00
PeterN
4cebebcf68
Change: Add CargoTypes type for cargo masks. (#6790) 2018-05-21 22:08:39 +01:00
frosch
d7ee0b6fee (svn r27656) -Fix [FS#6511]: When removing objects of bankrupt companies the tiles may revert to canal. In that case also check the ownership of the canal. 2016-09-18 14:07:52 +00:00
rubidium
9daf7e749c (svn r26879) -Codechange: remove most MayHaveBridgeAbove calls since the data is now always accessible 2014-09-21 11:24:51 +00:00
rubidium
0463dbdc9e (svn r26482) -Codechange: add an include that allows us to undefine/redefine "unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values 2014-04-23 20:13:33 +00:00
frosch
73c6565cf2 (svn r26240) -Codechange: Pass the GRFFile to GetErrorMessageFromLocationCallbackResult instead of the GRFID. 2014-01-12 18:00:19 +00:00
planetmaker
86a658ca21 (svn r25938) -Fix [FS#5798] (r25876): Don't mistake a lighthouse for a transmitter and vice versa 2013-11-04 17:59:58 +00:00
planetmaker
95b973ec6c (svn r25880) -Fix (r25875): Special rules for world generation needs be considered in one more place 2013-10-18 15:23:41 +00:00
planetmaker
70e4074a4c (svn r25879) -Change: Allow to remove unowned objects unless they have the 'unremovable' flag 2013-10-17 21:47:16 +00:00
planetmaker
8033162bb8 (svn r25876) -Codechange: Unify object placement during map creation 2013-10-17 21:41:17 +00:00
planetmaker
2ee9a2b5e7 (svn r25875) -Change: In scenario editor allow to build all objects which were available at any point in the past to support building scenarios with historic items 2013-10-17 21:37:25 +00:00
planetmaker
0bc86ff9ee (svn r25871) -Codechange: Move placement rules for lighthouses to its own function 2013-10-17 21:25:15 +00:00
planetmaker
0a481d5ea6 (svn r25870) -Codechange: Move placement rules for transmitter to its own function 2013-10-17 21:22:39 +00:00
zuu
dfb5663313 (svn r25849) -Codechange: Introduce IsTileFlat to not compute full slope information for situations when we only want to know if a tile is flat or not (cirdan, LordAro) 2013-10-12 22:07:58 +00:00
frosch
ac599625da (svn r25835) -Change: Increase the total number of object types from 256 to 64000. 2013-10-12 16:31:55 +00:00
frosch
35d7e8bca4 (svn r25833) -Codechange: Move ObjectType from map array into pool item. 2013-10-12 16:30:42 +00:00
frosch
2080a8c16f (svn r25832) -Codechange: Reduce variety of object type test functions. 2013-10-12 16:30:22 +00:00
frosch
938ae194a5 (svn r25753) -Fix [FS#5725] (r25557): If old savegames contain bridges over owned land, keep on drawing the bridges nevertheless. 2013-09-02 18:37:44 +00:00
rubidium
60a52404e3 (svn r23842) -Change [FS#5001, FS#5002]: do not let towns (ever) remove objects 2012-01-22 21:26:42 +00:00
rubidium
9d958ff581 (svn r23763) -Fix [FS#4956]: check whether a water tile is really empty when overbuilding it with an object 2012-01-06 19:49:44 +00:00
rubidium
6d6be50ae0 (svn r23740) -Codechange: remove some 300 unneeded includes from the .cpp files 2012-01-03 21:32:51 +00:00
yexo
b9e19cc6c1 (svn r23723) -Codechange: speedup flood checks a bit 2012-01-03 00:44:23 +00:00
michi_cc
c06bbb4863 (svn r23413) -Add: Company infrastructure counts for canals. 2011-12-03 23:40:23 +00:00
frosch
50b76125cd (svn r23236) -Fix (r23141): Construction of objects was always rejected. 2011-11-16 20:39:30 +00:00
yexo
6a272233b3 (svn r23160) -Fix: wrong comments in a lot of TileTypeProcs definitions 2011-11-08 17:37:32 +00:00
frosch
52774235eb (svn r23148) -Change: [NewGRF] Check the results of various callbacks for validness. 2011-11-08 17:27:13 +00:00
frosch
30874b5e81 (svn r23147) -Change: [NewGRF v8] Unify the return values of boolean callbacks, and check the results for validity. 2011-11-08 17:26:49 +00:00
frosch
cd029465e1 (svn r23141) -Change: [NewGRF v8] Invert result bit 10 of callbacks 149 and 157 to make them consistent with other slope check callbacks. (michi_cc) 2011-11-08 17:24:31 +00:00
rubidium
459c9523e8 (svn r23107) -Codechange: let GetSlopePixelZ and TerraformTile tile type functions use int z as well 2011-11-04 11:36:10 +00:00
rubidium
19eabdba2c (svn r23106) -Codechange: pass int* to GetTileSlope and friends 2011-11-04 11:30:37 +00:00
rubidium
a8c4efcff4 (svn r23101) -Codechange: remove pointless multiplications by TILE_HEIGHT from the station/object building code 2011-11-04 10:31:13 +00:00
rubidium
1dc685aeea (svn r23100) -Codechange: remove pointless multiplications by TILE_HEIGHT for the terraform code 2011-11-04 10:30:10 +00:00
rubidium
d0689c2924 (svn r23097) -Codechange: remove pointless multiplications by TILE_HEIGHT from the bridge code 2011-11-04 10:28:20 +00:00
rubidium
2ed0f93bfb (svn r23093) -Codechange: add a default NULL for the Z of GetTileSlope and use it 2011-11-04 10:22:27 +00:00
rubidium
7757a2ed40 (svn r23091) -Codechange: rename some Get*Z functions to Get*PixelZ functions if they return the Z in pixels (like TilePixelHeight) 2011-11-04 10:18:13 +00:00
yexo
534bff1d19 (svn r22994) -Fix [FS#4775]: tile was cleared before the object-placement callback was run, resulting in possible differences in test and exec run 2011-10-04 20:18:12 +00:00
frosch
8d5c1479f4 (svn r22960) -Feature: Allow depots, standard roadstops and airports on steep slopes. 2011-09-25 13:35:17 +00:00
frosch
9c239bb988 (svn r22698) -Fix [FS#4694]: 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. 2011-07-30 12:28:49 +00:00
michi_cc
e5dd6f9227 (svn r22658) -Feature: [NewGRF] Custom error messages for object callback 0x157. 2011-07-11 16:32:30 +00:00
michi_cc
8565703a4c (svn r22643) -Fix: Disallow building NewObjects on water tiles owned by another company. 2011-07-08 14:42:18 +00:00
terkhen
e127fca384 (svn r22557) -Codechange: Remove constness from AnimationBase callbacks. 2011-06-12 20:32:52 +00:00
smatz
756cc6cf65 (svn r22116) -Codechange: use PoolBase::Clean() at more places 2011-02-19 23:05:47 +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
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
rubidium
0395aab420 (svn r22019) -Codechange: s/functions.h/clear_func.h/ 2011-02-07 22:38:02 +00:00
rubidium
7eba2bf4d3 (svn r21890) -Cleanup: remove some unneeded includes 2011-01-22 14:52:20 +00:00
rubidium
9ca4b629cd (svn r21846) -Codechange: move documentation towards the code to make it more likely to be updated [o-s]. 2011-01-18 23:09:43 +00:00
rubidium
1123d4790f (svn r21485) -Codechange: use CircularTileSearch to find whether there's a transmitter nearby 2010-12-12 18:18:50 +00:00
rubidium
5d0da9492e (svn r21454) -Codechange: add support for object variable 48 2010-12-10 21:32:52 +00:00
rubidium
cd6180a46d (svn r21453) -Codechange: add the view of an object to the savegame 2010-12-10 21:32:04 +00:00
rubidium
31a5f8f043 (svn r21314) -Fix [FS#4253]: [NewGRF] (Hopefully) make callback 157 behave more like TTDPatch does, i.e. fall back to the default check when the callback is not yielding a result for a tile instead of disallowing building the object 2010-11-24 23:08:12 +00:00
frosch
612516ff76 (svn r21290) -Codechange: Add HasTileWaterGround() to deduplicate some tests. 2010-11-21 18:38:45 +00:00
frosch
d5360390d0 (svn r21288) -Codechange: Add helper function to find entries in _cleared_object_areas. 2010-11-21 17:05:23 +00:00
alberth
43f807a918 (svn r21156) -Codechange: Introduce EconomyIsInRecession(). 2010-11-13 09:45:20 +00:00
rubidium
feece0b42c (svn r20919) -Fix [FS#4140]: objects didn't change colour when the company changed colour. Now they do, except when the "decide colour" callback is (defined to be) used 2010-10-12 19:48:42 +00:00
rubidium
7bbc19288f (svn r20909) -Fix [FS#4137]: don't see coasts as water for object construction 2010-10-08 21:08:38 +00:00
yexo
0e250f2bdf (svn r20748) -Fix: overbuilding an object tile with sea under it with a canal didn't take the cost for clearing the sea into account 2010-09-05 16:00:36 +00:00
yexo
72e2e21cb5 (svn r20745) -Fix: don't delete an object when trying to terraform a tile of it with canal under it. If we delete the object the terraforming will still fail due to the canal 2010-09-05 14:54:18 +00:00
yexo
0ab95ba636 (svn r20744) -Fix: overbuilding an object with water under it failed 2010-09-05 14:53:20 +00:00
frosch
42a996ec23 (svn r20743) -Fix: Make testruns of clearing an object tile not influence repeated testruns resp. the exec run. 2010-09-05 13:31:39 +00:00
frosch
ce1cae81ea (svn r20742) -Fix: Evaluate DC_NO_WATER flag when clearing objects built on water. 2010-09-05 13:28:59 +00:00
yexo
9a0033cbf6 (svn r20730) -Fix: crash when removing an object while the newgrf debug window was open for that object 2010-09-03 22:28:11 +00:00
yexo
a45b598bfc (svn r20729) -Fix [FS#4107]: assert when overbuilding object 2010-09-03 21:50:51 +00:00
rubidium
29eae4a378 (svn r20721) -Fix: objects that can be built on water shouldn't be drowned. 2010-09-02 20:45:54 +00:00
rubidium
e90e831f2e (svn r20714) -Fix: bit 9 of object's flags implies bit 3 is set, so just test for either of the bits being set 2010-09-01 20:09:15 +00:00
rubidium
dd2c38ea82 (svn r20708) -Fix [FS#4101]: upon company bankruptcy some objects weren't removed properly 2010-09-01 06:15:26 +00:00
rubidium
cf8f6571fc (svn r20706) -Fix (r20664): land slope check wasn't called when it should be called 2010-08-31 16:17:22 +00:00
rubidium
2d10b0f11d (svn r20669) -Codechange: trigger the whole object every 256 ticks instead of every 250 ticks 2010-08-28 19:13:20 +00:00
rubidium
41a80490be (svn r20668) -Codechange: add (more) support for bridges over objects 2010-08-28 19:02:21 +00:00
rubidium
3e67b4fe5f (svn r20667) -Codechange: implement the autoslope callback for objects 2010-08-28 19:00:21 +00:00
rubidium
d4403cb649 (svn r20666) -Codechange: enable drawing of (NewGRF) objects 2010-08-28 18:57:32 +00:00
rubidium
fba19a41d5 (svn r20665) -Codechange: make clearing object tiles behave (more) like TTDPatch 2010-08-28 18:56:07 +00:00
rubidium
ca7fe458a2 (svn r20664) -Codechange: implement the land slope callback for objects 2010-08-28 18:55:20 +00:00
rubidium
9991c8677d (svn r20663) -Codechange: add the GRF name to the tile info window 2010-08-28 18:54:12 +00:00
rubidium
60fe27db50 (svn r20662) -Codechange: implement object animation 2010-08-28 18:51:47 +00:00
rubidium
ee8c37c3d9 (svn r20661) -Codechange: implement the "decide colour" callback for objects 2010-08-28 18:50:32 +00:00
rubidium
e0ba6550d2 (svn r20658) -Codechange: add the colour of an object to the object instance 2010-08-28 18:28:34 +00:00
rubidium
bd48893478 (svn r20656) -Codechange: implement counting of objects 2010-08-28 18:23:14 +00:00
rubidium
0a86eac2f1 (svn r20651) -Codechange: add a function to determine whether an object is available and use it 2010-08-28 17:36:28 +00:00
rubidium
34da98f2b1 (svn r20647) -Codechange: update some of the object spec information 2010-08-28 17:29:12 +00:00