summaryrefslogtreecommitdiff
path: root/src/tunnelbridge_cmd.cpp
diff options
context:
space:
mode:
authorsmatz <smatz@openttd.org>2008-01-09 23:00:59 +0000
committersmatz <smatz@openttd.org>2008-01-09 23:00:59 +0000
commitf44a9a5d5b468496fe92473e3bbd6a556efabf12 (patch)
tree3de62d8fa49bd51c2036af4c35d3e035e59db6ea /src/tunnelbridge_cmd.cpp
parent6c954cad5f73f20fad3804d16f1852c7b52d3ad7 (diff)
downloadopenttd-f44a9a5d5b468496fe92473e3bbd6a556efabf12.tar.xz
(svn r11802) -Fix [FS#716]: do not crash trains when leaving depot to a very long track
-Codechange: use dedicated pathfinder for signal updating, resulting in better performance and possible future improvements
Diffstat (limited to 'src/tunnelbridge_cmd.cpp')
-rw-r--r--src/tunnelbridge_cmd.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/tunnelbridge_cmd.cpp b/src/tunnelbridge_cmd.cpp
index 2b8964e78..26e43e872 100644
--- a/src/tunnelbridge_cmd.cpp
+++ b/src/tunnelbridge_cmd.cpp
@@ -35,6 +35,7 @@
#include "functions.h"
#include "vehicle_func.h"
#include "sound_func.h"
+#include "signal_func.h"
const Bridge orig_bridge[] = {
@@ -419,7 +420,7 @@ not_valid_below:;
if (flags & DC_EXEC && railtype != INVALID_RAILTYPE) {
Track track = AxisToTrack(direction);
- SetSignalsOnBothDir(tile_start, track);
+ UpdateSignalsOnSegment(tile_start, INVALID_DIAGDIR);
YapfNotifyTrackLayoutChange(tile_start, track);
}
@@ -549,7 +550,7 @@ CommandCost CmdBuildTunnel(TileIndex start_tile, uint32 flags, uint32 p1, uint32
if (GB(p1, 9, 1) == TRANSPORT_RAIL) {
MakeRailTunnel(start_tile, _current_player, direction, (RailType)GB(p1, 0, 4));
MakeRailTunnel(end_tile, _current_player, ReverseDiagDir(direction), (RailType)GB(p1, 0, 4));
- UpdateSignalsOnSegment(start_tile, direction);
+ UpdateSignalsOnSegment(start_tile, INVALID_DIAGDIR);
YapfNotifyTrackLayoutChange(start_tile, AxisToTrack(DiagDirToAxis(direction)));
} else {
MakeRoadTunnel(start_tile, _current_player, direction, (RoadTypes)GB(p1, 0, 3));