diff options
author | terkhen <terkhen@openttd.org> | 2010-11-06 13:03:17 +0000 |
---|---|---|
committer | terkhen <terkhen@openttd.org> | 2010-11-06 13:03:17 +0000 |
commit | 25d1b2f54b9cac01e2737848c208f6d8096a4a92 (patch) | |
tree | 37860a84857248e929612d7ed018a4e2065d31cd /src/saveload/vehicle_sl.cpp | |
parent | c8a56f17f82be7d4a8e935fc514c86a313dc7d15 (diff) | |
download | openttd-25d1b2f54b9cac01e2737848c208f6d8096a4a92.tar.xz |
(svn r21098) -Codechange: Ships now store their max speed in the cache instead of recalculating it every time.
Diffstat (limited to 'src/saveload/vehicle_sl.cpp')
-rw-r--r-- | src/saveload/vehicle_sl.cpp | 34 |
1 files changed, 23 insertions, 11 deletions
diff --git a/src/saveload/vehicle_sl.cpp b/src/saveload/vehicle_sl.cpp index 6da47fee4..7817e81ba 100644 --- a/src/saveload/vehicle_sl.cpp +++ b/src/saveload/vehicle_sl.cpp @@ -313,20 +313,32 @@ void AfterLoadVehicles(bool part_of_load) FOR_ALL_VEHICLES(v) { assert(v->first != NULL); - if (v->type == VEH_TRAIN) { - Train *t = Train::From(v); - if (t->IsFrontEngine() || t->IsFreeWagon()) { - t->tcache.last_speed = t->cur_speed; // update displayed train speed - t->ConsistChanged(false); + switch (v->type) { + case VEH_TRAIN: { + Train *t = Train::From(v); + if (t->IsFrontEngine() || t->IsFreeWagon()) { + t->tcache.last_speed = t->cur_speed; // update displayed train speed + t->ConsistChanged(false); + } + break; } - } else if (v->type == VEH_ROAD) { - RoadVehicle *rv = RoadVehicle::From(v); - if (rv->IsRoadVehFront()) { - RoadVehUpdateCache(rv); - if (_settings_game.vehicle.roadveh_acceleration_model != AM_ORIGINAL) { - rv->CargoChanged(); + + case VEH_ROAD: { + RoadVehicle *rv = RoadVehicle::From(v); + if (rv->IsRoadVehFront()) { + RoadVehUpdateCache(rv); + if (_settings_game.vehicle.roadveh_acceleration_model != AM_ORIGINAL) { + rv->CargoChanged(); + } } + break; } + + case VEH_SHIP: + Ship::From(v)->UpdateCache(); + break; + + default: break; } } |