summaryrefslogtreecommitdiff
path: root/src/rail.cpp
diff options
context:
space:
mode:
authorfrosch <frosch@openttd.org>2008-02-28 17:34:34 +0000
committerfrosch <frosch@openttd.org>2008-02-28 17:34:34 +0000
commit35fd0dfd4ef6ddf466599404f1e3e81a7cf855ef (patch)
treeb6a5956820cbae3751e4b56fd28c9a38cd3cad1d /src/rail.cpp
parent86a4d377b1f0a2cdc540ce8f029151d799a35023 (diff)
downloadopenttd-35fd0dfd4ef6ddf466599404f1e3e81a7cf855ef.tar.xz
(svn r12313) -Fix: YAPF and NTP did not apply penalty for uphill tracks on steep slopes.
Diffstat (limited to 'src/rail.cpp')
-rw-r--r--src/rail.cpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/rail.cpp b/src/rail.cpp
index ab94cc04c..aeda9ab98 100644
--- a/src/rail.cpp
+++ b/src/rail.cpp
@@ -113,6 +113,40 @@ extern const TrackBits _corner_to_trackbits[] = {
TRACK_BIT_LEFT, TRACK_BIT_LOWER, TRACK_BIT_RIGHT, TRACK_BIT_UPPER,
};
+extern const TrackdirBits _uphill_trackdirs[] = {
+ TRACKDIR_BIT_NONE , ///< 0 SLOPE_FLAT
+ TRACKDIR_BIT_X_SW | TRACKDIR_BIT_Y_NW, ///< 1 SLOPE_W -> inclined for diagonal track
+ TRACKDIR_BIT_X_SW | TRACKDIR_BIT_Y_SE, ///< 2 SLOPE_S -> inclined for diagonal track
+ TRACKDIR_BIT_X_SW , ///< 3 SLOPE_SW
+ TRACKDIR_BIT_X_NE | TRACKDIR_BIT_Y_SE, ///< 4 SLOPE_E -> inclined for diagonal track
+ TRACKDIR_BIT_NONE , ///< 5 SLOPE_EW
+ TRACKDIR_BIT_Y_SE , ///< 6 SLOPE_SE
+ TRACKDIR_BIT_NONE , ///< 7 SLOPE_WSE -> leveled
+ TRACKDIR_BIT_X_NE | TRACKDIR_BIT_Y_NW, ///< 8 SLOPE_N -> inclined for diagonal track
+ TRACKDIR_BIT_Y_NW , ///< 9 SLOPE_NW
+ TRACKDIR_BIT_NONE , ///< 10 SLOPE_NS
+ TRACKDIR_BIT_NONE , ///< 11 SLOPE_NWS -> leveled
+ TRACKDIR_BIT_X_NE , ///< 12 SLOPE_NE
+ TRACKDIR_BIT_NONE , ///< 13 SLOPE_ENW -> leveled
+ TRACKDIR_BIT_NONE , ///< 14 SLOPE_SEN -> leveled
+ TRACKDIR_BIT_NONE , ///< 15 invalid
+ TRACKDIR_BIT_NONE , ///< 16 invalid
+ TRACKDIR_BIT_NONE , ///< 17 invalid
+ TRACKDIR_BIT_NONE , ///< 18 invalid
+ TRACKDIR_BIT_NONE , ///< 19 invalid
+ TRACKDIR_BIT_NONE , ///< 20 invalid
+ TRACKDIR_BIT_NONE , ///< 21 invalid
+ TRACKDIR_BIT_NONE , ///< 22 invalid
+ TRACKDIR_BIT_X_SW | TRACKDIR_BIT_Y_SE, ///< 23 SLOPE_STEEP_S -> inclined for diagonal track
+ TRACKDIR_BIT_NONE , ///< 24 invalid
+ TRACKDIR_BIT_NONE , ///< 25 invalid
+ TRACKDIR_BIT_NONE , ///< 26 invalid
+ TRACKDIR_BIT_X_SW | TRACKDIR_BIT_Y_NW, ///< 27 SLOPE_STEEP_W -> inclined for diagonal track
+ TRACKDIR_BIT_NONE , ///< 28 invalid
+ TRACKDIR_BIT_X_NE | TRACKDIR_BIT_Y_NW, ///< 29 SLOPE_STEEP_N -> inclined for diagonal track
+ TRACKDIR_BIT_X_NE | TRACKDIR_BIT_Y_SE, ///< 30 SLOPE_STEEP_E -> inclined for diagonal track
+};
+
/* The default multiplier for the cost of building different types of railway
* track, which will be divided by 8. Can be changed by newgrf files. */
const int _default_railtype_cost_multiplier[RAILTYPE_END] = {