From 29b79e03e80f0e57f9af5ec4eeedc6de205f201b Mon Sep 17 00:00:00 2001 From: alberth Date: Sun, 7 Mar 2010 15:54:58 +0000 Subject: (svn r19365) -Codechange: Move EnsureNoTrainOnTrackProc() to src/vehicle.cpp. --- src/rail_cmd.cpp | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) (limited to 'src/rail_cmd.cpp') diff --git a/src/rail_cmd.cpp b/src/rail_cmd.cpp index 439d33b3b..19c044e31 100644 --- a/src/rail_cmd.cpp +++ b/src/rail_cmd.cpp @@ -144,32 +144,18 @@ static const byte _track_sloped_sprites[14] = { * 11uuuudd => rail depot */ - -Vehicle *EnsureNoTrainOnTrackProc(Vehicle *v, void *data) -{ - TrackBits rail_bits = *(TrackBits *)data; - - if (v->type != VEH_TRAIN) return NULL; - - Train *t = Train::From(v); - if ((t->track != rail_bits) && !TracksOverlap(t->track | rail_bits)) return NULL; - - _error_message = STR_ERROR_TRAIN_IN_THE_WAY + v->type; - return v; -} - /** * Tests if a vehicle interacts with the specified track. - * All track bits interact except parallel TRACK_BIT_HORZ or TRACK_BIT_VERT. + * All track bits interact except parallel #TRACK_BIT_HORZ or #TRACK_BIT_VERT. * * @param tile The tile. * @param track The track. + * @return \c true if no train that interacts, is found. \c false if a train is found. */ static bool EnsureNoTrainOnTrack(TileIndex tile, Track track) { TrackBits rail_bits = TrackToTrackBits(track); - - return !HasVehicleOnPos(tile, &rail_bits, &EnsureNoTrainOnTrackProc); + return EnsureNoTrainOnTrackBits(tile, rail_bits); } /** Check that the new track bits may be built. -- cgit v1.2.3-54-g00ecf