fix: error when removing tunnelbridge signal w/ tracerestruct

This commit is contained in:
Yourself
2021-12-31 18:28:44 -07:00
parent f65a166308
commit 3f391a74af

View File

@@ -2139,6 +2139,8 @@ CommandCost CmdRemoveSingleSignal(TileIndex tile, DoCommandFlag flags, uint32 p1
Track end_track = FindFirstTrack(GetAcrossTunnelBridgeTrackBits(end));
Company *c = Company::Get(GetTileOwner(tile));
c->infrastructure.signal -= GetTunnelBridgeSignalSimulationSignalCount(tile, end);
TraceRestrictNotifySignalRemoval(tile, track);
TraceRestrictNotifySignalRemoval(end, end_track);
ClearBridgeTunnelSignalSimulation(end, tile);
ClearBridgeTunnelSignalSimulation(tile, end);
MarkBridgeOrTunnelDirty(tile);
@@ -2146,8 +2148,6 @@ CommandCost CmdRemoveSingleSignal(TileIndex tile, DoCommandFlag flags, uint32 p1
AddSideToSignalBuffer(end, INVALID_DIAGDIR, GetTileOwner(tile));
YapfNotifyTrackLayoutChange(tile, track);
YapfNotifyTrackLayoutChange(end, end_track);
TraceRestrictNotifySignalRemoval(tile, track);
TraceRestrictNotifySignalRemoval(end, end_track);
DirtyCompanyInfrastructureWindows(GetTileOwner(tile));
for (Train *v : re_reserve_trains) {
ReReserveTrainPath(v);