equal
deleted
inserted
replaced
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 { |