diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp index a244d5a2a9..a2000034e6 100644 --- a/src/train_cmd.cpp +++ b/src/train_cmd.cpp @@ -172,8 +172,6 @@ void Train::ConsistChanged(ConsistChangeFlags allowed_changes) assert(this->IsFrontEngine() || this->IsFreeWagon()); - InvalidateVehicleTickCaches(); - const RailVehicleInfo *rvi_v = RailVehInfo(this->engine_type); EngineID first_engine = this->IsFrontEngine() ? this->engine_type : INVALID_ENGINE; this->gcache.cached_total_length = 0; @@ -1010,6 +1008,8 @@ CommandCost CmdBuildRailVehicle(TileIndex tile, DoCommandFlag flags, const Engin } CheckConsistencyOfArticulatedVehicle(v); + + InvalidateVehicleTickCaches(); } return CommandCost(); @@ -1582,6 +1582,8 @@ CommandCost CmdMoveRailVehicle(TileIndex tile, DoCommandFlag flags, uint32 p1, u RestoreTrainBackup(original_dst); } + InvalidateVehicleTickCaches(); + return CommandCost(); } @@ -5214,6 +5216,8 @@ Train* CmdBuildVirtualRailWagon(const Engine *e) CheckConsistencyOfArticulatedVehicle(v); + InvalidateVehicleTickCaches(); + return v; } @@ -5295,6 +5299,8 @@ Train* CmdBuildVirtualRailVehicle(EngineID eid, bool lax_engine_check, StringID CheckConsistencyOfArticulatedVehicle(v); + InvalidateVehicleTickCaches(); + return v; }