src/vehicle.cpp
changeset 11120 373bc4028ce2
parent 10922 6ca169cfe005
child 11122 ef4f97adc383
equal deleted inserted replaced
11119:abb5658c31c1 11120:373bc4028ce2
   273 			}
   273 			}
   274 		}
   274 		}
   275 	}
   275 	}
   276 
   276 
   277 	FOR_ALL_VEHICLES(v) {
   277 	FOR_ALL_VEHICLES(v) {
   278 		assert(v->first != NULL);
   278 		assert(v->First() != NULL);
   279 
   279 
   280 		if (v->type == VEH_TRAIN && (IsFrontEngine(v) || IsFreeWagon(v))) {
       
   281 			if (IsFrontEngine(v)) v->u.rail.last_speed = v->cur_speed; // update displayed train speed
       
   282 			TrainConsistChanged(v);
       
   283 		} else if (v->type == VEH_ROAD && IsRoadVehFront(v)) {
       
   284 			RoadVehUpdateCache(v);
       
   285 		}
       
   286 	}
       
   287 
       
   288 	FOR_ALL_VEHICLES(v) {
       
   289 		switch (v->type) {
   280 		switch (v->type) {
   290 			case VEH_ROAD:
   281 			case VEH_ROAD:
   291 				v->u.road.roadtype = HasBit(EngInfo(v->engine_type)->misc_flags, EF_ROAD_TRAM) ? ROADTYPE_TRAM : ROADTYPE_ROAD;
   282 				v->u.road.roadtype = HasBit(EngInfo(v->engine_type)->misc_flags, EF_ROAD_TRAM) ? ROADTYPE_TRAM : ROADTYPE_ROAD;
   292 				v->u.road.compatible_roadtypes = RoadTypeToRoadTypes(v->u.road.roadtype);
   283 				v->u.road.compatible_roadtypes = RoadTypeToRoadTypes(v->u.road.roadtype);
   293 				/* FALL THROUGH */
   284 				/* FALL THROUGH */
   316 			default: break;
   307 			default: break;
   317 		}
   308 		}
   318 
   309 
   319 		v->left_coord = INVALID_COORD;
   310 		v->left_coord = INVALID_COORD;
   320 		VehiclePositionChanged(v);
   311 		VehiclePositionChanged(v);
       
   312 	}
       
   313 }
       
   314 
       
   315 void InitializeVehicleCaches()
       
   316 {
       
   317 	Vehicle *v;
       
   318 	FOR_ALL_VEHICLES(v) {
       
   319 		if (v->type == VEH_TRAIN && (IsFrontEngine(v) || IsFreeWagon(v))) {
       
   320 			if (IsFrontEngine(v)) v->u.rail.last_speed = v->cur_speed; // update displayed train speed
       
   321 			TrainConsistChanged(v);
       
   322 		} else if (v->type == VEH_ROAD && IsRoadVehFront(v)) {
       
   323 			RoadVehUpdateCache(v);
       
   324 		}
   321 	}
   325 	}
   322 }
   326 }
   323 
   327 
   324 Vehicle::Vehicle()
   328 Vehicle::Vehicle()
   325 {
   329 {