Changeset - r18864:d4ad0866a2d5
[Not reviewed]
master
0 2 0
yexo - 12 years ago 2012-01-03 00:44:23
yexo@openttd.org
(svn r23723) -Codechange: speedup flood checks a bit
2 files changed with 6 insertions and 6 deletions:
0 comments (0 inline, 0 general)
src/object_cmd.cpp
Show inline comments
 
@@ -697,8 +697,8 @@ void GenerateObjects()
 
				assert(tile < MapSize());
 
				break;
 
			}
 
			tile = AddTileIndexDiffCWrap(tile, TileIndexDiffCByDiagDir(dir));
 
			if (tile == INVALID_TILE) break;
 
			tile += TileOffsByDiagDir(dir);
 
			if (!IsValidTile(tile)) break;
 
		}
 
	}
 
}
src/water_cmd.cpp
Show inline comments
 
@@ -1148,8 +1148,8 @@ void TileLoop_Water(TileIndex tile)
 
	switch (GetFloodingBehaviour(tile)) {
 
		case FLOOD_ACTIVE:
 
			for (Direction dir = DIR_BEGIN; dir < DIR_END; dir++) {
 
				TileIndex dest = AddTileIndexDiffCWrap(tile, TileIndexDiffCByDir(dir));
 
				if (dest == INVALID_TILE) continue;
 
				TileIndex dest = tile + TileOffsByDir(dir);
 
				if (!IsValidTile(dest)) continue;
 
				/* do not try to flood water tiles - increases performance a lot */
 
				if (IsTileType(dest, MP_WATER)) continue;
 

	
 
@@ -1167,8 +1167,8 @@ void TileLoop_Water(TileIndex tile)
 
			Slope slope_here = GetFoundationSlope(tile) & ~SLOPE_HALFTILE_MASK & ~SLOPE_STEEP;
 
			uint dir;
 
			FOR_EACH_SET_BIT(dir, _flood_from_dirs[slope_here]) {
 
				TileIndex dest = AddTileIndexDiffCWrap(tile, TileIndexDiffCByDir((Direction)dir));
 
				if (dest == INVALID_TILE) continue;
 
				TileIndex dest = tile + TileOffsByDir(dir);
 
				if (!IsValidTile(dest)) continue;
 

	
 
				FloodingBehaviour dest_behaviour = GetFloodingBehaviour(dest);
 
				if ((dest_behaviour == FLOOD_ACTIVE) || (dest_behaviour == FLOOD_PASSIVE)) return;
0 comments (0 inline, 0 general)