From e72232dc4cb7c2d9373f6f9edb3abd6d863a3d41 Mon Sep 17 00:00:00 2001 From: peter1138 Date: Fri, 24 Mar 2006 22:36:54 +0000 Subject: [PATCH] (svn r4094) - Allow unused wagons have their ->first set. This fixes the faulty cache warning message, and noticably speeds up depot operations in large games. Backport of r3576 from trunk --- vehicle.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vehicle.c b/vehicle.c index eab59a68c2..1820bf81e4 100644 --- a/vehicle.c +++ b/vehicle.c @@ -505,7 +505,7 @@ Vehicle *GetFirstVehicleInChain(const Vehicle *v) assert(v != NULL); if (v->first != NULL) { - if (IsFrontEngine(v->first)) return v->first; + if (IsFrontEngine(v->first) || IsFreeWagon(v->first)) return v->first; DEBUG(misc, 0) ("v->first cache faulty. We shouldn't be here, rebuilding cache!"); } @@ -519,7 +519,7 @@ Vehicle *GetFirstVehicleInChain(const Vehicle *v) while ((u = GetPrevVehicleInChain_bruteforce(v)) != NULL) v = u; /* Set the first pointer of all vehicles in that chain to the first wagon */ - if (IsFrontEngine(v)) + if (IsFrontEngine(v) || IsFreeWagon(v)) for (u = (Vehicle *)v; u != NULL; u = u->next) u->first = (Vehicle *)v; return (Vehicle*)v;