Commit Graph

123 Commits

Author SHA1 Message Date
Rubidium
e8af8daa68 Codechange: pass "ground vehicle" to GetTileSlopeZ since for tunnel/bridges there are two states
Previously it checked the position in non-driving direction to "guess" whether
a ground vehicle was using the function, so on tunnels/bridges it could either
return the Z of the (virtual) ground compared to the Z of the path the vehicle
would take.
2023-04-09 19:00:26 +02:00
Rubidium
755e41de9f Codechange: make rounding code clearer
-O1 already optimizes it to the original hand optimized magic code
2023-01-26 23:47:55 +01:00
PeterN
1b1aa682a6
Fix: Don't assume engclass 2 should be elrail. (#10315)
When disabling/enabling elrail, there is an assumption that `engclass` of 2
means the engine will run on elrail. While this holds for default engines,
NewGRFs can do other things.

To resolve this we store the intended railtype so that toggling elrail will
restore to the correct type.
2023-01-06 00:44:57 +00:00
PeterN
dde15a403c
Fix #10257: Incorrect wire position on sloped bridge heads. (#10258) 2022-12-19 20:16:26 +00:00
glx22
49b66ea504 Codechange: Remove FOR_EACH_SET_TRACK 2021-07-09 21:36:09 +02:00
rubidium42
08308d808c Codechange: use separate pre and post callbacks for int settings 2021-05-29 10:07:30 +02:00
Jonathan G Rennison
c0b722ec46 Codechange: Add fast path to catenary drawing in MaskWireBits
MaskWireBits always returns its input unchanged if the input
has only 0 or 1 track bits set.
Having only 0 or 1 track bits sets (i.e. non junction tiles)
is by far the most common case.
Examining the state of neighbouring tiles and the subsequent
masking logic is relatively expensive and can be omitted in this case.
2021-03-10 23:28:10 +01:00
Charles Pigott
9b800a96ed
Codechange: Remove min/max functions in favour of STL variants (#8502) 2021-01-08 11:16:18 +01:00
glx
d8a1be48cd Codechange: Replace vehicle related FOR_ALL with range-based for loops 2019-12-21 20:13:03 +01:00
glx
1f6b3a37f9 Codechange: Replace FOR_ALL_ENGINES with range-based for loops 2019-12-21 20:13:03 +01:00
glx
3a14cea068 Codechange: Replace FOR_ALL_COMPANIES 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
Henry Wilson
7c8e7c6b6e Codechange: Use null pointer literal instead of the NULL macro 2019-04-10 23:22:20 +02:00
peter1138
6d0f8ec7b9 (svn r27812) -Fix: Road tunnel/bridge heads have no trackbits wrt catenary drawing
Road tunnels and bridges do not have any rail, so do not treat them
as if they had when drawing a catenary. (cirdan)
2017-03-20 17:57:24 +00:00
frosch
d9bfe88261 (svn r27676) -Codechange: Rename catenary functions, so that they refer unambiguously to either RoadCatenary or RailCatenary. 2016-11-05 11:53:03 +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
41b7a04a68 (svn r26317) -Fix [FS#5897]: Check whether NewGRF change vehicle capacity when they are not supposed to, and truncate cargo appropiately if they are allowed to. 2014-02-07 23:48:56 +00:00
rubidium
31af0a3397 (svn r25505) -Fix [FS#5563]: use proper doxygen style link to images 2013-06-28 20:54:05 +00:00
planetmaker
c24374f99c (svn r24900) -Fix [FS#5389]: Comments with typos (most fixes supplied by Eagle_rainbow) 2013-01-08 22:46:42 +00:00
michi_cc
0d331c8d8e (svn r24837) -Fix: Don't consider blocked rail station tiles that display wires as non-reachable for masking out unnecessary catenary wires. 2012-12-21 18:51:10 +00:00
michi_cc
cf570106a6 (svn r24836) -Feature(ette): Improve pylon placement around station tiles that display neither pylons nor catenary. 2012-12-21 18:51:06 +00:00
frosch
6821f5cd22 (svn r24403) -Fix: Draw wires under low bridges if the bridge is transparent, not if the wire is transparent. 2012-07-15 16:18:55 +00:00
frosch
c8cb096533 (svn r24402) -Fix [FS#5243]: Station properties 11 and 14 were combined incorrectly. 2012-07-15 16:17:22 +00:00
rubidium
9782b7bb0a (svn r23110) -Codechange: let the flying altitude return ints are well 2011-11-04 13:40:59 +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
19eabdba2c (svn r23106) -Codechange: pass int* to GetTileSlope and friends 2011-11-04 11:30:37 +00:00
rubidium
798f5a8608 (svn r23102) -Codechange: remove the remaining pointless multiplications by TILE_HEIGHT 2011-11-04 10:31:46 +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
frosch
493a45ede5 (svn r22437) -Fix: Catenary was drawn incorrectly next to level crossings with foundations. (same as r3935, but for level crossings) 2011-05-08 16:19:04 +00:00
rubidium
fb5ecb9499 (svn r22411) -Document: another bunch of bits 2011-05-02 17:42:12 +00:00
rubidium
7efd7e19ed (svn r21845) -Codechange: move documentation towards the code to make it more likely to be updates [d-m]. 2011-01-18 22:31:06 +00:00
alberth
7e48d85104 (svn r21060) -Doc: Improved wording of comments (mostly by __ln__) 2010-10-30 17:51:07 +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
terkhen
78fd08c7b2 (svn r20424) -Fix: Rename members of TileContext (TC_NORMAL conflicted with an existing define on MinGW). 2010-08-09 10:59:30 +00:00
frosch
7f1425c333 (svn r20423) -Change [FS#3947]: Make snow on bridges depend on bridgeheight. 2010-08-09 07:32:04 +00:00
frosch
b6cf38a912 (svn r20422) -Change [FS#3947]: Resolve tracksprites on bridges always using the southern bridgehead as tile. 2010-08-09 07:30:50 +00:00
frosch
48c5091a7c (svn r20420) -Codechange: Add TileContext enum instead of using a bool. 2010-08-09 07:10:42 +00:00
frosch
ed4f806f1d (svn r20283) -Codechange: Unify start of doygen comments. 2010-08-01 19:22:34 +00:00
rubidium
01e0792b91 (svn r20137) -Fix [FS#3945]: desync due to (temporary) wrong railtype; when loading a savegame the railtype of some (high ID) trains could be wrong.
After loading the vehicle data in the trains are updated, but after that the "electrification" checks are done which can change the "global" vehicle data. However, this update is not propagated to the vehicles until the consist is updated, e.g. turning around and going to a depot.
This makes some of the trains of a just joined client run as non-electrified trains which can cause it to take a wrong path or to not (randomly) show the electric sparks.
2010-07-13 23:33:31 +00:00
frosch
0a026ff41f (svn r20132) -Fix [FS#3944](r20126): There can also be halftile foundations on slopes with opposite corners raised. 2010-07-12 18:15:37 +00:00
frosch
72ee11a7c6 (svn r20126) -Fix [FS#3883]: Make railtype Terrain Type variable aware of RAIL_GROUND_HALF_SNOW. That is, resolve the sprites for upper and lower part of the foundation independently. 2010-07-11 17:28:19 +00:00
rubidium
99ecfe4061 (svn r19792) -Change: use the typed FOR_EACH_SET_BIT for Tracks (adf88) 2010-05-11 21:02:26 +00:00
peter1138
898e879bd9 (svn r19056) -Add: [NewGRF] Action 3/2/1 (i.e. new graphics) support for rail types. (To be documented...) 2010-02-07 22:22:54 +00:00
rubidium
aaf0b4b46c (svn r18812) -Codechange: make some functions in train.h functions of Train. 2010-01-15 18:23:52 +00:00
rubidium
82fc28f77f (svn r18809) -Codechange/Cleanup: remove unneeded headers from some files, if a header require a header make it include that header 2010-01-15 16:41:15 +00:00
rubidium
d6cded5380 (svn r17693) -Cleanup: remove some unneeded includes 2009-10-04 17:16:41 +00:00
rubidium
7fbc33dae1 (svn r17248) -Fix: add GPL license notice where appropriate 2009-08-21 20:21:05 +00:00