Merge branch 'signal_tunnels_bridges' into jgrpp
# Conflicts: # src/table/settings.ini # src/tunnelbridge.h
This commit is contained in:
@@ -1115,6 +1115,8 @@ CommandCost CmdBuildSingleSignal(TileIndex tile, DoCommandFlag flags, uint32 p1,
|
||||
}
|
||||
}
|
||||
if (flags & DC_EXEC) {
|
||||
Company * const c = Company::Get(GetTileOwner(tile));
|
||||
if (IsTunnelBridgeWithSignalSimulation(tile)) c->infrastructure.signal -= GetTunnelBridgeSignalSimulationSignalCount(tile, tile_exit);
|
||||
if (p2 == 0 && IsTunnelBridgeWithSignalSimulation(tile)) { // Toggle signal if already signals present.
|
||||
if (convert_signal) {
|
||||
if (flip_variant) {
|
||||
@@ -1167,6 +1169,8 @@ CommandCost CmdBuildSingleSignal(TileIndex tile, DoCommandFlag flags, uint32 p1,
|
||||
AddSideToSignalBuffer(tile_exit, INVALID_DIAGDIR, GetTileOwner(tile));
|
||||
YapfNotifyTrackLayoutChange(tile, track);
|
||||
YapfNotifyTrackLayoutChange(tile_exit, track);
|
||||
if (IsTunnelBridgeWithSignalSimulation(tile)) c->infrastructure.signal += GetTunnelBridgeSignalSimulationSignalCount(tile, tile_exit);
|
||||
DirtyCompanyInfrastructureWindows(GetTileOwner(tile));
|
||||
}
|
||||
return cost;
|
||||
}
|
||||
@@ -1626,6 +1630,7 @@ CommandCost CmdRemoveSingleSignal(TileIndex tile, DoCommandFlag flags, uint32 p1
|
||||
|
||||
if (IsTunnelBridgeWithSignalSimulation(tile)) { // handle tunnel/bridge signals.
|
||||
TileIndex end = GetOtherTunnelBridgeEnd(tile);
|
||||
Company::Get(GetTileOwner(tile))->infrastructure.signal -= GetTunnelBridgeSignalSimulationSignalCount(tile, end);
|
||||
ClearBridgeTunnelSignalSimulation(end, tile);
|
||||
ClearBridgeTunnelSignalSimulation(tile, end);
|
||||
MarkBridgeOrTunnelDirty(tile);
|
||||
@@ -1633,6 +1638,7 @@ CommandCost CmdRemoveSingleSignal(TileIndex tile, DoCommandFlag flags, uint32 p1
|
||||
AddSideToSignalBuffer(end, INVALID_DIAGDIR, GetTileOwner(tile));
|
||||
YapfNotifyTrackLayoutChange(tile, track);
|
||||
YapfNotifyTrackLayoutChange(end, track);
|
||||
DirtyCompanyInfrastructureWindows(GetTileOwner(tile));
|
||||
return CommandCost(EXPENSES_CONSTRUCTION, cost);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user