# Snowline functions and data structures

## Data Structures

struct | SnowLine
| Structure describing the height of the snow line each day of the year. More...

## Functions

bool | IsSnowLineSet ()
| Has a snow line table already been loaded.
void | SetSnowLine (byte table[SNOW_LINE_MONTHS][SNOW_LINE_DAYS])
| Set a variable snow line, as loaded from a newgrf file.
byte | GetSnowLine ()
| Get the current snow line, either variable or static.
byte | HighestSnowLine ()
| Get the highest possible snow line height, either variable or static.
byte | LowestSnowLine ()
| Get the lowest possible snow line height, either variable or static.
void | ClearSnowLine ()
| Clear the variable snow line table and free the memory.

## Variables

static SnowLine * | _snow_line = NULL
| Description of the snow line throughout the year.

## Function Documentation

byte GetSnowLine | ( |  | ) |

Get the current snow line, either variable or static.

Returns:
  the snow line height.

Definition at line 553 of file landscape.cpp.

References _date, _settings_game, ConvertDateToYMD(), YearMonthDay::day, GameSettings::game_creation, YearMonthDay::month, GameCreationSettings::snow_line, and SnowLine::table.

Referenced by TownViewWindow::DrawWidget(), GetGlobalVariable(), GetTerrainType(), PlaceTreesRandomly(), TileLoopClearAlps(), and UpdateTownGrowRate().

byte HighestSnowLine | ( |  | ) |

Get the highest possible snow line height, either variable or static.

Returns:
  the highest snow line height.

Definition at line 567 of file landscape.cpp.

References _settings_game, GameSettings::game_creation, SnowLine::highest_value, and GameCreationSettings::snow_line.

Referenced by CheckNewIndustry_Farm(), and CheckNewIndustry_Forest().

bool IsSnowLineSet | ( |  | ) |

Has a snow line table already been loaded.

Returns:
  true if the table has been loaded already.

Definition at line 524 of file landscape.cpp.

byte LowestSnowLine | ( |  | ) |

Get the lowest possible snow line height, either variable or static.

Returns:
  the lowest snow line height.

Definition at line 577 of file landscape.cpp.

References _settings_game, GameSettings::game_creation, SnowLine::lowest_value, and GameCreationSettings::snow_line.

Referenced by TownViewWindow::DrawWidget(), and TownViewWindow::GetDesiredInfoHeight().

void SetSnowLine | ( | byte | table[SNOW_LINE_MONTHS][SNOW_LINE_DAYS] | ) |

Set a variable snow line, as loaded from a newgrf file.

Parameters:

  | table | the 12 * 32 byte table containing the snowline for each day

Definition at line 534 of file landscape.cpp.

References SnowLine::highest_value, SnowLine::lowest_value, max(), min(), SNOW_LINE_MONTHS, and SnowLine::table.

## Variable Documentation

SnowLine* _snow_line = NULL`[static]`

Description of the snow line throughout the year.

If it is `NULL`, a static snowline height is used, as set by `_settings_game.game_creation.snow_line`. Otherwise it points to a table loaded from a newGRF file, that describes the variable snowline

See also:
  GetSnowLine() GameCreationSettings

Definition at line 79 of file landscape.cpp.