Run water flooding at constant speed at day lengths >= 4

See: #482
This commit is contained in:
Jonathan G Rennison
2023-02-09 21:39:04 +00:00
parent 2fcb735d7b
commit 05ec32f577
11 changed files with 59 additions and 8 deletions

View File

@@ -1324,9 +1324,17 @@ void TileLoop_Water(TileIndex tile)
{
if (IsTileType(tile, MP_WATER)) AmbientSoundEffect(tile);
/* At day lengths > 4, handle flooding in auxiliary tile loop */
if (_settings_game.economy.day_length_factor > 4) return;
if (IsNonFloodingWaterTile(tile)) return;
switch (GetFloodingBehaviour(tile)) {
TileLoopWaterFlooding(GetFloodingBehaviour(tile), tile);
}
void TileLoopWaterFlooding(FloodingBehaviour flooding_behaviour, TileIndex tile)
{
switch (flooding_behaviour) {
case FLOOD_ACTIVE: {
int non_water_neighbours = 0;
for (Direction dir = DIR_BEGIN; dir < DIR_END; dir++) {