changeset 15138:9ce158e1d59e draft

(svn r19767) -Fix [FS#3808]: Height in smallmap was different from measured heights (ChillCore).
author alberth <alberth@openttd.org>
date Fri, 07 May 2010 20:39:00 +0000
parents 2f64d2dfd8f3
children 7c6ac8de8bfb
files src/smallmap_gui.cpp src/viewport.cpp src/viewport_func.h
diffstat 3 files changed, 6 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/smallmap_gui.cpp
+++ b/src/smallmap_gui.cpp
@@ -1107,7 +1107,7 @@
 							GfxFillRect(x + blob_left, y + 1, x + blob_right, y + row_height - 1, 0); // Outer border of the legend colour
 						}
 					} else {
-						if (this->map_type == SMT_CONTOUR) SetDParam(0, tbl->u.height * 100);
+						if (this->map_type == SMT_CONTOUR) SetDParam(0, tbl->u.height * TILE_HEIGHT_STEP);
 
 						/* Anything that is not an industry is using normal process */
 						GfxFillRect(x + blob_left, y + 1, x + blob_right, y + row_height - 1, 0);
--- a/src/viewport.cpp
+++ b/src/viewport.cpp
@@ -2170,7 +2170,8 @@
 }
 
 /** Calculates height difference between one tile and another.
- * Multiplies the result to suit the standard given by minimap - 50 meters high
+ * Multiplies the result to suit the standard given by #TILE_HEIGHT_STEP.
+ *
  * To correctly get the height difference we need the direction we are dragging
  * in, as well as with what kind of tool we are dragging. For example a horizontal
  * autorail tool that starts in bottom and ends at the top of a tile will need the
@@ -2249,8 +2250,7 @@
 	}
 
 	if (swap) Swap(h0, h1);
-	/* Minimap shows height in intervals of 50 meters, let's do the same */
-	return (int)(h1 - h0) * 50;
+	return (int)(h1 - h0) * TILE_HEIGHT_STEP;
 }
 
 static const StringID measure_strings_length[] = {STR_NULL, STR_MEASURE_LENGTH, STR_MEASURE_LENGTH_HEIGHTDIFF};
--- a/src/viewport_func.h
+++ b/src/viewport_func.h
@@ -18,6 +18,8 @@
 #include "window_type.h"
 #include "tile_type.h"
 
+static const int TILE_HEIGHT_STEP = 50; ///< One Z unit tile height difference is displayed as 50m.
+
 void SetSelectionRed(bool);
 
 void DeleteWindowViewport(Window *w);