From 67ab0450dd9ab652ee4ec515e06f4ea8f04b7f6b Mon Sep 17 00:00:00 2001 From: peter1138 Date: Mon, 20 Mar 2017 08:04:47 +0000 Subject: (svn r27809) -Codechange: Improve check in UpdateLevelCrossing In UpdateLevelCrossing, checking if a level crossing is reserved is cheaper than finding trains on it or approaching it, so do it first. (cirdan) --- src/train_cmd.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp index 550253223..4a279bb7e 100644 --- a/src/train_cmd.cpp +++ b/src/train_cmd.cpp @@ -1700,8 +1700,8 @@ void UpdateLevelCrossing(TileIndex tile, bool sound) { assert(IsLevelCrossingTile(tile)); - /* train on crossing || train approaching crossing || reserved */ - bool new_state = HasVehicleOnPos(tile, NULL, &TrainOnTileEnum) || TrainApproachingCrossing(tile) || HasCrossingReservation(tile); + /* reserved || train on crossing || train approaching crossing */ + bool new_state = HasCrossingReservation(tile) || HasVehicleOnPos(tile, NULL, &TrainOnTileEnum) || TrainApproachingCrossing(tile); if (new_state != IsCrossingBarred(tile)) { if (new_state && sound) { -- cgit v1.2.3-54-g00ecf