Add fast paths for clear/tree snow line checks in tile loop

This commit is contained in:
Jonathan G Rennison
2021-02-21 22:39:26 +00:00
parent 2e20da40ed
commit 4f74a83496
2 changed files with 14 additions and 2 deletions

View File

@@ -745,7 +745,13 @@ static void TileLoopTreesDesert(TileIndex tile)
static void TileLoopTreesAlps(TileIndex tile)
{
int k = GetTileZ(tile) - GetSnowLine() + 1;
int k;
if ((int)TileHeight(tile) < GetSnowLine() - 1) {
/* Fast path to avoid needing to check all 4 corners */
k = -1;
} else {
k = GetTileZ(tile) - GetSnowLine() + 1;
}
if (k < 0) {
switch (GetTreeGround(tile)) {