diff --git a/src/rail_cmd.cpp b/src/rail_cmd.cpp index 11833a4b15..dabc8015f5 100644 --- a/src/rail_cmd.cpp +++ b/src/rail_cmd.cpp @@ -773,13 +773,13 @@ bool FloodHalftile(TileIndex t) TrackBits lower_track = CornerToTrackBits(OppositeCorner(GetHighestSlopeCorner(tileh))); TrackBits to_remove = lower_track & rail_bits; - if (to_remove != 0) { + if (to_remove != TRACK_BIT_NONE) { Backup cur_company(_current_company, OWNER_WATER); flooded = Command::Do(DC_EXEC, t, FindFirstTrack(to_remove)).Succeeded(); cur_company.Restore(); if (!flooded) return flooded; // not yet floodable rail_bits = rail_bits & ~to_remove; - if (rail_bits == 0) { + if (rail_bits == TRACK_BIT_NONE) { MakeShore(t); MarkTileDirtyByTile(t); return flooded; diff --git a/src/water_cmd.cpp b/src/water_cmd.cpp index f15c15666b..27773d30c7 100644 --- a/src/water_cmd.cpp +++ b/src/water_cmd.cpp @@ -1187,6 +1187,7 @@ static void DoFloodTile(TileIndex target) UpdateSignalsInBuffer(); if (IsPossibleDockingTile(target)) CheckForDockingTile(target); + InvalidateWaterRegion(target); } cur_company.Restore();