Merge branch 'master' into jgrpp
# Conflicts: # .github/workflows/release-linux.yml # .github/workflows/release-macos.yml # src/industry_cmd.cpp # src/industry_cmd.h # src/network/core/http_curl.cpp # src/network/core/tcp_http.cpp # src/network/core/tcp_http.h # src/network/network_content.h # src/script/api/script_goal.cpp # src/script/api/script_industry.cpp # src/script/api/script_league.cpp # src/script/api/script_story_page.cpp # src/script/api/script_town.cpp # src/train.h # src/train_cmd.cpp
This commit is contained in:
@@ -2592,6 +2592,19 @@ static Vehicle *TrainOnTileEnum(Vehicle *v, void *)
|
||||
return v;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if a level crossing tile has a train on it
|
||||
* @param tile tile to test
|
||||
* @return true if a train is on the crossing
|
||||
* @pre tile is a level crossing
|
||||
*/
|
||||
bool TrainOnCrossing(TileIndex tile)
|
||||
{
|
||||
assert(IsLevelCrossingTile(tile));
|
||||
|
||||
return HasVehicleOnPos(tile, VEH_TRAIN, nullptr, &TrainOnTileEnum);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Checks if a train is approaching a rail-road crossing
|
||||
@@ -2641,7 +2654,7 @@ static bool TrainApproachingCrossing(TileIndex tile)
|
||||
static inline bool CheckLevelCrossing(TileIndex tile)
|
||||
{
|
||||
/* reserved || train on crossing || train approaching crossing */
|
||||
return HasCrossingReservation(tile) || HasVehicleOnPos(tile, VEH_TRAIN, nullptr, &TrainOnTileEnum) || TrainApproachingCrossing(tile);
|
||||
return HasCrossingReservation(tile) || TrainOnCrossing(tile) || TrainApproachingCrossing(tile);
|
||||
}
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user