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