summaryrefslogtreecommitdiff
path: root/src/vehicle.cpp
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2008-07-08 15:10:23 +0000
committerrubidium <rubidium@openttd.org>2008-07-08 15:10:23 +0000
commitd974acac8986accbbbc8c4512ca8e413c9a591f9 (patch)
tree1cb8248688de6895f87895cd745183a1db2c6f56 /src/vehicle.cpp
parent03d32e12fba1a4568aee7734d37e7e7195b72e8d (diff)
downloadopenttd-d974acac8986accbbbc8c4512ca8e413c9a591f9.tar.xz
(svn r13681) -Revert (r13678, r13677): the fixes didn't work in all cases (assertions on savegame loads).
-Fix [FS#2102]: but now in a hopefully beter way.
Diffstat (limited to 'src/vehicle.cpp')
-rw-r--r--src/vehicle.cpp24
1 files changed, 10 insertions, 14 deletions
diff --git a/src/vehicle.cpp b/src/vehicle.cpp
index b0ad68113..e8b1e4093 100644
--- a/src/vehicle.cpp
+++ b/src/vehicle.cpp
@@ -275,8 +275,17 @@ void AfterLoadVehicles(bool clear_te_id)
}
FOR_ALL_VEHICLES(v) {
- assert(v->First() != NULL);
+ assert(v->first != NULL);
+ if (v->type == VEH_TRAIN && (IsFrontEngine(v) || IsFreeWagon(v))) {
+ if (IsFrontEngine(v)) v->u.rail.last_speed = v->cur_speed; // update displayed train speed
+ TrainConsistChanged(v);
+ } else if (v->type == VEH_ROAD && IsRoadVehFront(v)) {
+ RoadVehUpdateCache(v);
+ }
+ }
+
+ FOR_ALL_VEHICLES(v) {
switch (v->type) {
case VEH_ROAD:
v->u.road.roadtype = HasBit(EngInfo(v->engine_type)->misc_flags, EF_ROAD_TRAM) ? ROADTYPE_TRAM : ROADTYPE_ROAD;
@@ -312,19 +321,6 @@ void AfterLoadVehicles(bool clear_te_id)
}
}
-void InitializeVehicleCaches()
-{
- Vehicle *v;
- FOR_ALL_VEHICLES(v) {
- if (v->type == VEH_TRAIN && (IsFrontEngine(v) || IsFreeWagon(v))) {
- if (IsFrontEngine(v)) v->u.rail.last_speed = v->cur_speed; // update displayed train speed
- TrainConsistChanged(v);
- } else if (v->type == VEH_ROAD && IsRoadVehFront(v)) {
- RoadVehUpdateCache(v);
- }
- }
-}
-
Vehicle::Vehicle()
{
this->type = VEH_INVALID;