1
0
Fork 0
Commit Graph

343 Commits (0d4588688fa79d28221304796da16c6a74b80208)

Author SHA1 Message Date
Michael Lutz c6d7b98808 Codechange: Un-bitstuff landscape commands. 2021-12-16 22:28:32 +01:00
Michael Lutz 46bd2f1ced Codechange: Un-bitstuff remaining transport infrastructure commands. 2021-12-16 22:28:32 +01:00
Michael Lutz 6fe445e6c0 Codechange: Un-bitstuff station/depot/waypoint commands. 2021-12-16 22:28:32 +01:00
Michael Lutz e740c24eb7 Codechange: Template DoCommand to automagically reflect the parameters of the command proc.
When finished, this will allow each command handler to take individually
different parameters, obliviating the need for bit-packing.
2021-12-16 22:28:32 +01:00
Michael Lutz b0990fcff7 Codechange: Make TileIndex a "strong" typedef to give it a distinct type.
This is accomplished by changing it to a single member struct with the
appropriate operator overloads to make it all work with not too much
source modifications.
2021-12-16 22:28:32 +01:00
Michael Lutz 7048e1522f Codechange: Move flags in CommandProc in front of the command arguments. 2021-12-16 22:28:32 +01:00
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
SamuXarick 45edd9f326
Fix: Incorrect error messages on placing water on scenario editor (#9560)
Additionally changes the behaviour of placing sea on sea/river/canal and placing canal/river on canal to (over)build, instead of disallowing it
2021-09-19 23:14:07 +02:00
SamuXarick b335b0501c Fix: wrong error message when building canals over ship depots / locks
IsTileType() also considers ship depots and locks water. IsWaterTile() does the right thing.
2021-09-18 13:24:49 +02:00
SamuXarick 6ce74b2a1b Fix: reduce cost of building canals over objects on sea
It is not like we will drain the sea first, to put water back in it after.
Besides, the cost for draining the sea isn't calculated for all other cases either.
2021-09-18 13:24:49 +02:00
glx22 89ab8b79a5 Codechange: Remove FOR_EACH_SET_BIT 2021-07-09 21:36:09 +02:00
rubidium42 2e136285e1 Codechange: move from C-string to std::string for DoCommand 2021-05-29 19:02:18 +02:00
rubidium42 b791ffc6de Fix: do not hide parameter by local variable with the same name 2021-05-27 18:30:56 +02:00
glx22 38c97e1492 Codechange: Replace TILE_AREA_LOOP with range-based for loops 2021-05-13 00:13:54 +02:00
Tyler Trahan adb9fa3b36
Feature: Press ctrl to build diagonal rivers in Scenario Editor (#8880) 2021-04-02 10:13:27 +02:00
Patric Stout dff7ee8e1c
Fix #7611: keeps news about accidents around after vehicle is cleaned up (#8497)
When a vehicle is cleaned up, all news that points to the news is
also removed. This was a bit evil, as it would also remove any
news related to crashed, acting like the crash never happened.
This left players a bit in the dark what was going on exactly.
2021-01-05 21:39:23 +01:00
SamuXarick 57553cd809 Fix #8020: Add missing docking tiles around industry neutral stations 2020-03-30 08:21:40 +02:00
Samu 30fe0015e2 Fix #7944: Demolishing locks built on rivers didn't always restore the river 2020-02-09 20:56:30 +01:00
S. D. Cloudt 13cc8a0cee Cleanup: Removed SVN headers 2019-11-10 17:59:20 +00:00
peter1138 ec2656ab7e Codechange: Restrict docking points of docks. 2019-06-30 16:46:32 +02:00
peter1138 f538179878 Feature: Multi-tile docks and docking points. 2019-06-30 16:46:32 +02:00
Charles Pigott 5b34c8019f Codechange: Remove Company/OwnerByte types 2019-04-29 17:40:22 +01:00
Henry Wilson 7c8e7c6b6e Codechange: Use null pointer literal instead of the NULL macro 2019-04-10 23:22:20 +02:00
SamuXarick 4adb91202d Fix: Remove desert around lakes upon generation 2019-02-23 13:16:12 +01:00
Charles Pigott 52ed3bcbaa Remove: A few bits of dead code 2018-10-31 12:41:49 +01:00
J0anJosep 79a551a83c Codechange: Use TileAddBy(Diag)Dir when possible. 2018-04-30 18:55:04 +02:00
Michael Lutz f240274b7e Codechange: Replace magic numbers with the proper enum. 2018-04-15 00:33:57 +02:00
peter1138 50fb460203 (svn r27973) -Fix: [FS#6662] Avoid tile operations outside map border when building lock. 2018-03-05 22:57:49 +00:00
frosch b4b98e5165 (svn r27893) -Codechange: Use fallthrough attribute. (LordAro) 2017-08-13 18:38:42 +00:00
frosch 7e12a1a985 (svn r27254) -Fix [FS#6264]: When building a lock on DC_AUTO-removable water-based objects, the water class was always set to canal. 2015-04-26 10:50:36 +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
planetmaker 40f61eaf15 (svn r26344) -Change [FS#5907]: Do not flood shores of type MP_TREE needlessly (MJP) 2014-02-16 17:03:58 +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
planetmaker a8ba748434 (svn r25229) -Feature: [NewGRF] Variable 0x82 for canals and rivers (dike map) 2013-05-06 20:48:18 +00:00
frosch 02924a1d3e (svn r25220) -Change [FS#Eddi]: Consider map border as water wrt. river/canal continuation. 2013-05-06 12:49:04 +00:00
rubidium 00530f4ccf (svn r24972) -Fix [FS#5258]: do not make overbuilding rivers with canals insanely expensive; there is no real need to fill the river with dirt first, just excavate it a bit and build borders 2013-02-05 21:07:24 +00:00
planetmaker 9823fac63b (svn r24924) -Fix (r24923): Make sure that autoslope on steep coast tiles cannot not leave invalid canals 2013-01-20 13:50:10 +00:00
planetmaker 42883b9543 (svn r24923) -Fix [FS#5441]: When an object built on a river is removed, restore the river, if possible also on slopes (based on patch by Supercheese) 2013-01-20 12:43:25 +00:00
frosch 3ce8d2ce70 (svn r24846) -Add: Advanced settings to disable certain sound effects. 2012-12-23 21:09:09 +00:00
frosch a8c88f43b6 (svn r24284) -Codechange: Remove NewsSubtypes and directly use NewsTypes and NewsFlag instead. 2012-05-26 14:16:03 +00:00
frosch 07f69d8b88 (svn r23920) -Fix: Consider only the middle tile of a lock for lock-infrastructure costs. The other two tiles may be owned by other companies. Also do not count the middle tile of a lock as canal, independent of whether it is build on ground or river slope. 2012-02-09 22:38:39 +00:00
rubidium e40eb8177a (svn r23735) -Codechange: remove ~50 includes from headers that weren't needed 2012-01-03 20:26:05 +00:00
yexo f5caf142c0 (svn r23725) -Fix (r23723): compile before commit 2012-01-03 00:47:56 +00:00
yexo 5f79b4c5d1 (svn r23724) -Codechange: split of the check to see if ambient sounds are enabled to a header file allowing compilers to inline that check 2012-01-03 00:45:22 +00:00
yexo b9e19cc6c1 (svn r23723) -Codechange: speedup flood checks a bit 2012-01-03 00:44:23 +00:00
michi_cc 24d530b55d (svn r23686) -Fix [FS#4921] (r23413): Infrastructure count of canals/locks/ship depots wasn't updated properly when a company went into bankruptcy or was taken over. 2011-12-29 20:10:06 +00:00
truebrain 77b7366c29 (svn r23622) -Add: a set of events to trigger in a GameScript 2011-12-19 20:59:36 +00:00
planetmaker 8c48fd1fe5 (svn r23512) -Change [FS#4872]: Allow to place locks also on river rapids and restore rivers, if locks are deleted 2011-12-13 23:01:36 +00:00
frosch 85ba182fde (svn r23443) -Fix (r23413): Building of locks in SE failed. 2011-12-07 18:41:38 +00:00
michi_cc c06bbb4863 (svn r23413) -Add: Company infrastructure counts for canals. 2011-12-03 23:40:23 +00:00
truebrain 98103121d4 (svn r23355) -Codechange: rename all AI* to Script* (Rubidium) 2011-11-29 23:15:35 +00:00
rubidium 56a2c4b177 (svn r23284) -Fix [FS#4845]: Pathfinders go haywire when you build a lock over a ship going perpendicular to the axis of the new lock 2011-11-20 15:39:23 +00:00
yexo 6a272233b3 (svn r23160) -Fix: wrong comments in a lot of TileTypeProcs definitions 2011-11-08 17:37:32 +00:00
michi_cc 3e016e4254 (svn r23116) -Fix (r23114): Ambient sound effect callback was called for unsupported tile types. 2011-11-04 22:59:23 +00:00
michi_cc 707b0f48e6 (svn r23114) -Feature: [NewGRF] Ambient sound effect callback. 2011-11-04 21:05:08 +00:00
rubidium 2a2c102b0b (svn r23108) -Codechange: more uint -> int / byte -> int conversions for Z related variables 2011-11-04 11:52:19 +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 0b6dbaf664 (svn r23099) -Codechange: remove pointless multiplications by TILE_HEIGHT for the water/river code 2011-11-04 10:29:26 +00:00
rubidium ecbc56a677 (svn r23094) -Codechange: add a default NULL to GetFoundationSlope and use it 2011-11-04 10:23:48 +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
michi_cc 4261e8fdfd (svn r22773) -Add: Some grass around rivers in desert areas. 2011-08-20 20:07:02 +00:00
frosch a7f7a97825 (svn r22646) -Codechange: Simplify MP_WATER map accessors, esp. for locks and depots. (based on patched by adf88 and michi_cc) 2011-07-10 13:04:04 +00:00
michi_cc 662a0a9cd3 (svn r22638) -Fix: Keep the previous owner of the upper and lower lock parts if they are built on existing water. 2011-07-07 14:16:16 +00:00
frosch f575b45bae (svn r22110) -Codechange: Remove WaterDrawTileStruct and use DrawTileSprites/DrawTileSeqStruct instead. 2011-02-19 14:57:15 +00:00
frosch 9e59436c61 (svn r22108) -Codechange: Replace some magic with some other magic though less easy to break. 2011-02-19 14:51:46 +00:00
frosch 1dd6d037ba (svn r22107) -Cleanup (r1903): Remove unused struct. 2011-02-19 14:30:21 +00:00
rubidium bc3ce1e53b (svn r22018) -Cleanup: remove some (now) unneeded includes of functions.h 2011-02-07 22:37:22 +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
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
frosch 612516ff76 (svn r21290) -Codechange: Add HasTileWaterGround() to deduplicate some tests. 2010-11-21 18:38:45 +00:00
frosch b57a3ae5ec (svn r20763) -Fix [FS#4113](r20749): The bridgetest on building shipdepots can no longer rely on being only called for clear water tiles. 2010-09-07 19:20:15 +00:00
yexo a2ba35f57c (svn r20749) -Fix: allow overbuilding objects with buoys and ship depots 2010-09-05 16:33:32 +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
frosch e9cd81953a (svn r20741) -Cleanup: Use IsTileOnWater() in more places. 2010-09-05 13:18:54 +00:00
rubidium 50769995c7 (svn r20640) -Add: support for water under objects 2010-08-27 22:29:13 +00:00
frosch 4901d42140 (svn r20636) -Codechange: Move MarkTileDirtyByTile() and DeleteAnimatedTile() into MakeWaterKeepingClass(). 2010-08-27 20:46:36 +00:00
rubidium 30f2afac9b (svn r20632) -Cleanup: remove "a few" unneeded includes, and add them to some headers 2010-08-26 22:01:16 +00:00
rubidium 08a41c6ee5 (svn r20631) -Codechange: generalise IsIndustryTileOnWater + simplify so related code 2010-08-26 19:29:20 +00:00
yexo 85740a0283 (svn r20559) -Fix [FS#4045]: make sure that all vehicles are build in the most northern depot/hangar tile 2010-08-19 13:44:41 +00:00
yexo cc45b99866 (svn r20527) -Codechange: move the flood code and remove some redundant checks 2010-08-17 19:52:44 +00:00
michi_cc 4d927af488 (svn r20353) -Add: [NewGRF] Support for callback 0x147 ("add sprite offset") for canals. 2010-08-03 17:48:07 +00:00
michi_cc bd2f7e998c (svn r20352) -Add: [NewGRF] Support for property 09, feature 05, i.e alternate canal sprite layout. 2010-08-03 17:48:03 +00:00
michi_cc f67c727c68 (svn r20351) -Codechange: Uncouple water lock and depot drawing. 2010-08-03 17:47:43 +00:00
terkhen 80c43f52e8 (svn r20289) -Codechange: Unify fall through coding style. 2010-08-01 20:52:11 +00:00
frosch ed4f806f1d (svn r20283) -Codechange: Unify start of doygen comments. 2010-08-01 19:22:34 +00:00
rubidium e356cb9405 (svn r20281) -Codechange: unify case scope closure + break coding style 2010-08-01 18:53:30 +00:00
alberth 7e0e7fb0e5 (svn r20109) -Codechange: Make GetFloodingBehaviour() globally usable. 2010-07-10 12:45:34 +00:00
yexo 9cfb61adf5 (svn r20003) -Feature [FS#3886]: [NewGRF] var 43 depot build date for railtypes 2010-06-20 19:13:02 +00:00
frosch 1d3adb2b66 (svn r19931) -Fix (r19914): Convert assertion in Backup<> destructor into DEBUG() output. It was triggered on exceptions, especially when aborting world generation. 2010-06-05 12:16:12 +00:00
frosch 9db3cde73a (svn r19914) -Codechange: Wrap a helper class around temporary assignments of _current_company to ensure proper restoration. 2010-05-31 20:22:57 +00:00
rubidium 93ff7d78e1 (svn r19799) -Change: give depots an unique name in the same manner buoys and waypoints are named 2010-05-12 19:21:00 +00:00
rubidium be504a6ef0 (svn r19788) -Codechange: make FOR_EACH_SET_BIT not change the value of the passed bit variable, i.e. allow expressions as parameter 2010-05-11 20:48:06 +00:00
terkhen 52ab1c7d40 (svn r19720) -Feature: New base costs for building/clearing canals, building/clearing aqueducts and building/clearing locks. 2010-04-25 13:56:51 +00:00
terkhen a2b03e54e0 (svn r19719) -Codechange: When building a lock, do not add the cost of building canals if they are already built. 2010-04-25 13:52:08 +00:00
terkhen e83797d2e0 (svn r19718) -Fix: The cost of clearing tiles was not taken into account when building locks. 2010-04-25 13:50:15 +00:00
terkhen 28a57ee3f8 (svn r19716) -Documentation: Add comments for lock building and removal functions. 2010-04-25 13:44:49 +00:00