changeset 2994:f4fe0958e79e draft

(svn r3571) - When loading a game, call TrainConsistChanged() for each train head separately before updating images, as v->first is used extensively in GetTrainImage() for custom graphics. This gives a significant speed improvement on loading a game.
author peter1138 <peter1138@openttd.org>
date Tue, 07 Feb 2006 18:57:16 +0000
parents 377300834bbf
children 74adcac7a72b
files vehicle.c
diffstat 1 files changed, 5 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/vehicle.c
+++ b/vehicle.c
@@ -218,6 +218,11 @@
 
 	FOR_ALL_VEHICLES(v) {
 		v->first = NULL;
+		if (v->type == VEH_Train && (IsFrontEngine(v) || IsFreeWagon(v)))
+			TrainConsistChanged(v);
+	}
+
+	FOR_ALL_VEHICLES(v) {
 		if (v->type != 0) {
 			switch (v->type) {
 				case VEH_Train: v->cur_image = GetTrainImage(v, v->direction); break;
@@ -234,9 +239,6 @@
 
 			v->left_coord = INVALID_COORD;
 			VehiclePositionChanged(v);
-
-			if (v->type == VEH_Train && (IsFrontEngine(v) || IsFreeWagon(v)))
-				TrainConsistChanged(v);
 		}
 	}
 }