diff --git a/src/pathfinder/yapf/yapf_rail.cpp b/src/pathfinder/yapf/yapf_rail.cpp index efe18d67ee..679cc153e2 100644 --- a/src/pathfinder/yapf/yapf_rail.cpp +++ b/src/pathfinder/yapf/yapf_rail.cpp @@ -553,16 +553,10 @@ struct CYapfAnySafeTileRail2 : CYapfTtile; Trackdir td_rev = ReverseTrackdir(last_veh->GetVehicleTrackdir()); - typedef FindDepotData (*PfnFindNearestDepotTwoWay)(const Train*, TileIndex, Trackdir, TileIndex, Trackdir, int, int); - PfnFindNearestDepotTwoWay pfnFindNearestDepotTwoWay = &CYapfAnyDepotRail1::stFindNearestDepotTwoWay; - - /* check if non-default YAPF type needed */ - if (_settings_game.pf.forbid_90_deg) { - pfnFindNearestDepotTwoWay = &CYapfAnyDepotRail2::stFindNearestDepotTwoWay; // Trackdir, forbid 90-deg - } - - return pfnFindNearestDepotTwoWay(v, origin.tile, origin.trackdir, last_tile, td_rev, max_penalty, YAPF_INFINITE_PENALTY); + return _settings_game.pf.forbid_90_deg + ? CYapfAnyDepotRail2::stFindNearestDepotTwoWay(v, origin.tile, origin.trackdir, last_tile, td_rev, max_penalty, YAPF_INFINITE_PENALTY) + : CYapfAnyDepotRail1::stFindNearestDepotTwoWay(v, origin.tile, origin.trackdir, last_tile, td_rev, max_penalty, YAPF_INFINITE_PENALTY); } bool YapfTrainFindNearestSafeTile(const Train *v, TileIndex tile, Trackdir td, bool override_railtype) { - typedef bool (*PfnFindNearestSafeTile)(const Train*, TileIndex, Trackdir, bool); - PfnFindNearestSafeTile pfnFindNearestSafeTile = CYapfAnySafeTileRail1::stFindNearestSafeTile; - - /* check if non-default YAPF type needed */ - if (_settings_game.pf.forbid_90_deg) { - pfnFindNearestSafeTile = &CYapfAnySafeTileRail2::stFindNearestSafeTile; - } - - return pfnFindNearestSafeTile(v, tile, td, override_railtype); + return _settings_game.pf.forbid_90_deg + ? CYapfAnySafeTileRail2::stFindNearestSafeTile(v, tile, td, override_railtype) + : CYapfAnySafeTileRail1::stFindNearestSafeTile(v, tile, td, override_railtype); } /** if any track changes, this counter is incremented - that will invalidate segment cost cache */ diff --git a/src/pathfinder/yapf/yapf_road.cpp b/src/pathfinder/yapf/yapf_road.cpp index c9922f866e..8adcddf9bf 100644 --- a/src/pathfinder/yapf/yapf_road.cpp +++ b/src/pathfinder/yapf/yapf_road.cpp @@ -533,16 +533,10 @@ struct CYapfRoadAnyDepot2 : CYapfT