changeset 19193:14aceba8ac29 draft

(svn r24067) -Change/fix: do not redraw up to 25% of the map when making a new vehicle visible for the first time
author rubidium <rubidium@openttd.org>
date Sun, 25 Mar 2012 19:24:32 +0000
parents 25d3ab54cf2f
children bed7df4e7840
files src/vehicle.cpp
diffstat 1 files changed, 10 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/vehicle.cpp
+++ b/src/vehicle.cpp
@@ -1416,12 +1416,16 @@
 	v->coord.bottom = pt.y + spr->height + 2 * ZOOM_LVL_BASE;
 
 	if (dirty) {
-		MarkAllViewportsDirty(
-			min(old_coord.left,   v->coord.left),
-			min(old_coord.top,    v->coord.top),
-			max(old_coord.right,  v->coord.right) + 1 * ZOOM_LVL_BASE,
-			max(old_coord.bottom, v->coord.bottom) + 1 * ZOOM_LVL_BASE
-		);
+		if (old_coord.left == INVALID_COORD) {
+			MarkSingleVehicleDirty(v);
+		} else {
+			MarkAllViewportsDirty(
+				min(old_coord.left,   v->coord.left),
+				min(old_coord.top,    v->coord.top),
+				max(old_coord.right,  v->coord.right) + 1 * ZOOM_LVL_BASE,
+				max(old_coord.bottom, v->coord.bottom) + 1 * ZOOM_LVL_BASE
+			);
+		}
 	}
 }