OpenTTD Source  20241124-master-g9399a92a4f
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. More...
 
void SetSnowLine (uint8_t table[SNOW_LINE_MONTHS][SNOW_LINE_DAYS])
 Set a variable snow line, as loaded from a newgrf file. More...
 
uint8_t GetSnowLine ()
 Get the current snow line, either variable or static. More...
 
uint8_t HighestSnowLine ()
 Get the highest possible snow line height, either variable or static. More...
 
uint8_t LowestSnowLine ()
 Get the lowest possible snow line height, either variable or static. More...
 
void ClearSnowLine ()
 Clear the variable snow line table and free the memory.
 

Variables

static SnowLine_snow_line = nullptr
 Description of the snow line throughout the year. More...
 

Detailed Description

Function Documentation

◆ GetSnowLine()

uint8_t GetSnowLine ( )

Get the current snow line, either variable or static.

Returns
the snow line height.

Definition at line 609 of file landscape.cpp.

References _settings_game, _snow_line, TimerGameCalendar::ConvertDateToYMD(), TimerGameCalendar::date, GameSettings::game_creation, GameCreationSettings::snow_line_height, and SnowLine::table.

Referenced by TileLoopClearAlps().

◆ HighestSnowLine()

uint8_t HighestSnowLine ( )

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

Returns
the highest snow line height.

Definition at line 622 of file landscape.cpp.

References _settings_game, _snow_line, GameSettings::game_creation, SnowLine::highest_value, and GameCreationSettings::snow_line_height.

◆ IsSnowLineSet()

bool IsSnowLineSet ( )

Has a snow line table already been loaded.

Returns
true if the table has been loaded already.

Definition at line 580 of file landscape.cpp.

References _snow_line.

◆ LowestSnowLine()

uint8_t LowestSnowLine ( )

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

Returns
the lowest snow line height.

Definition at line 632 of file landscape.cpp.

References _settings_game, _snow_line, GameSettings::game_creation, SnowLine::lowest_value, and GameCreationSettings::snow_line_height.

◆ SetSnowLine()

void SetSnowLine ( uint8_t  table[SNOW_LINE_MONTHS][SNOW_LINE_DAYS])

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

Parameters
tablethe 12 * 32 byte table containing the snowline for each day

Definition at line 590 of file landscape.cpp.

References _snow_line, SnowLine::highest_value, SnowLine::lowest_value, SNOW_LINE_DAYS, SNOW_LINE_MONTHS, and SnowLine::table.

Variable Documentation

◆ _snow_line

SnowLine* _snow_line = nullptr
static

Description of the snow line throughout the year.

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

See also
GetSnowLine() GameCreationSettings

Definition at line 96 of file landscape.cpp.

Referenced by ClearSnowLine(), GetSnowLine(), HighestSnowLine(), IsSnowLineSet(), LowestSnowLine(), and SetSnowLine().