changeset 18862:35dd3fb18d52 draft

(svn r23711) -Codechange: don't chain the two vehicle hashes, but call them one by one
author truebrain <truebrain@openttd.org>
date Mon, 02 Jan 2012 12:07:42 +0000
parents bff12874b0d6
children 58840c62f6da
files src/vehicle.cpp
diffstat 1 files changed, 3 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/vehicle.cpp
+++ b/src/vehicle.cpp
@@ -555,8 +555,6 @@
 
 static void UpdateVehiclePosHash(Vehicle *v, int x, int y)
 {
-	UpdateNewVehiclePosHash(v, x == INVALID_COORD);
-
 	Vehicle **old_hash, **new_hash;
 	int old_x = v->coord.left;
 	int old_y = v->coord.top;
@@ -794,6 +792,7 @@
 	delete v;
 
 	UpdateVehiclePosHash(this, INVALID_COORD, 0);
+	UpdateNewVehiclePosHash(this, true);
 	DeleteVehicleNews(this->index, INVALID_STRING_ID);
 	DeleteNewGRFInspectWindow(GetGrfSpecFeature(this->type), this->index);
 }
@@ -1395,6 +1394,8 @@
  */
 void VehicleMove(Vehicle *v, bool update_viewport)
 {
+	UpdateNewVehiclePosHash(v, false);
+
 	int img = v->cur_image;
 	Point pt = RemapCoords(v->x_pos + v->x_offs, v->y_pos + v->y_offs, v->z_pos);
 	const Sprite *spr = GetSprite(img, ST_NORMAL);