Fix #214: CmdRemoveSingleSignal removed tunnel/bridge signals in test mode

Regression from: ed0ffb622
This commit is contained in:
Jonathan G Rennison
2021-02-04 12:02:54 +00:00
parent d52eebb829
commit 23651fd550

View File

@@ -2025,17 +2025,19 @@ CommandCost CmdRemoveSingleSignal(TileIndex tile, DoCommandFlag flags, uint32 p1
} }
} }
} }
Company::Get(GetTileOwner(tile))->infrastructure.signal -= GetTunnelBridgeSignalSimulationSignalCount(tile, end); if (flags & DC_EXEC) {
ClearBridgeTunnelSignalSimulation(end, tile); Company::Get(GetTileOwner(tile))->infrastructure.signal -= GetTunnelBridgeSignalSimulationSignalCount(tile, end);
ClearBridgeTunnelSignalSimulation(tile, end); ClearBridgeTunnelSignalSimulation(end, tile);
MarkBridgeOrTunnelDirty(tile); ClearBridgeTunnelSignalSimulation(tile, end);
AddSideToSignalBuffer(tile, INVALID_DIAGDIR, GetTileOwner(tile)); MarkBridgeOrTunnelDirty(tile);
AddSideToSignalBuffer(end, INVALID_DIAGDIR, GetTileOwner(tile)); AddSideToSignalBuffer(tile, INVALID_DIAGDIR, GetTileOwner(tile));
YapfNotifyTrackLayoutChange(tile, track); AddSideToSignalBuffer(end, INVALID_DIAGDIR, GetTileOwner(tile));
YapfNotifyTrackLayoutChange(end, track); YapfNotifyTrackLayoutChange(tile, track);
DirtyCompanyInfrastructureWindows(GetTileOwner(tile)); YapfNotifyTrackLayoutChange(end, track);
for (Train *v : re_reserve_trains) { DirtyCompanyInfrastructureWindows(GetTileOwner(tile));
ReReserveTrainPath(v); for (Train *v : re_reserve_trains) {
ReReserveTrainPath(v);
}
} }
return CommandCost(EXPENSES_CONSTRUCTION, cost); return CommandCost(EXPENSES_CONSTRUCTION, cost);
} }