clear_map.h File Reference

Map accessors for 'clear' tiles. More...

#include "bridge_map.h"
#include "industry_type.h"

Go to the source code of this file.

Enumerations

enum  ClearGround {
  CLEAR_GRASS = 0, CLEAR_ROUGH = 1, CLEAR_ROCKS = 2, CLEAR_FIELDS = 3,
  CLEAR_SNOW = 4, CLEAR_DESERT = 5
}
 

Ground types.

More...

Functions

static bool IsSnowTile (TileIndex t)
 Test if a tile is covered with snow.
static ClearGround GetRawClearGround (TileIndex t)
 Get the type of clear tile but never return CLEAR_SNOW.
static ClearGround GetClearGround (TileIndex t)
 Get the type of clear tile.
static bool IsClearGround (TileIndex t, ClearGround ct)
 Set the type of clear tile.
static uint GetClearDensity (TileIndex t)
 Get the density of a non-field clear tile.
static void AddClearDensity (TileIndex t, int d)
 Increment the density of a non-field clear tile.
static void SetClearDensity (TileIndex t, uint d)
 Set the density of a non-field clear tile.
static uint GetClearCounter (TileIndex t)
 Get the counter used to advance to the next clear density/field type.
static void AddClearCounter (TileIndex t, int c)
 Increments the counter used to advance to the next clear density/field type.
static void SetClearCounter (TileIndex t, uint c)
 Sets the counter used to advance to the next clear density/field type.
static void SetClearGroundDensity (TileIndex t, ClearGround type, uint density)
 Sets ground type and density in one go, also sets the counter to 0.
static uint GetFieldType (TileIndex t)
 Get the field type (production stage) of the field.
static void SetFieldType (TileIndex t, uint f)
 Set the field type (production stage) of the field.
static IndustryID GetIndustryIndexOfField (TileIndex t)
 Get the industry (farm) that made the field.
static void SetIndustryIndexOfField (TileIndex t, IndustryID i)
 Set the industry (farm) that made the field.
static uint GetFenceSE (TileIndex t)
 Is there a fence at the south eastern border?
static void SetFenceSE (TileIndex t, uint h)
 Sets the type of fence (and whether there is one) for the south eastern border.
static uint GetFenceSW (TileIndex t)
 Is there a fence at the south western border?
static void SetFenceSW (TileIndex t, uint h)
 Sets the type of fence (and whether there is one) for the south western border.
static void MakeClear (TileIndex t, ClearGround g, uint density)
 Make a clear tile.
static void MakeField (TileIndex t, uint field_type, IndustryID industry)
 Make a (farm) field tile.
static void MakeSnow (TileIndex t, uint density=0)
 Make a snow tile.
static void ClearSnow (TileIndex t)
 Clear the snow from a tile and return it to it's previous type.

Detailed Description

Map accessors for 'clear' tiles.

Definition in file clear_map.h.


Enumeration Type Documentation

Ground types.

Valid densities in comments after the enum.

Enumerator:
CLEAR_GRASS 

0-3

CLEAR_ROUGH 

3

CLEAR_ROCKS 

3

CLEAR_FIELDS 

3

CLEAR_SNOW 

0-3

CLEAR_DESERT 

1,3

Definition at line 21 of file clear_map.h.


Function Documentation

static void AddClearCounter ( TileIndex  t,
int  c 
) [inline, static]

Increments the counter used to advance to the next clear density/field type.

Parameters:
t the tile to increment the counter of
c the amount to increment the counter with
Precondition:
IsTileType(t, MP_CLEAR)

Definition at line 134 of file clear_map.h.

References _m, IsTileType(), Tile::m5, and MP_CLEAR.

static void AddClearDensity ( TileIndex  t,
int  d 
) [inline, static]

Increment the density of a non-field clear tile.

Parameters:
t the tile to increment the density of
d the amount to increment the density with
Precondition:
IsTileType(t, MP_CLEAR)

Definition at line 97 of file clear_map.h.

References _m, IsTileType(), Tile::m5, and MP_CLEAR.

Referenced by TileLoopClearAlps().

static void ClearSnow ( TileIndex  t  )  [inline, static]

Clear the snow from a tile and return it to it's previous type.

Parameters:
t the tile to clear of snow
Precondition:
GetClearGround(t) == CLEAR_SNOW

Definition at line 329 of file clear_map.h.

References _m, CLEAR_SNOW, ClrBit(), GetClearGround(), and SetClearDensity().

Referenced by TileLoopClearAlps().

static uint GetClearCounter ( TileIndex  t  )  [inline, static]

Get the counter used to advance to the next clear density/field type.

Parameters:
t the tile to get the counter of
Precondition:
IsTileType(t, MP_CLEAR)
Returns:
the value of the counter

Definition at line 122 of file clear_map.h.

References _m, GB(), IsTileType(), and MP_CLEAR.

static uint GetClearDensity ( TileIndex  t  )  [inline, static]

Get the density of a non-field clear tile.

Parameters:
t the tile to get the density of
Precondition:
IsTileType(t, MP_CLEAR)
Returns:
the density

Definition at line 85 of file clear_map.h.

References _m, GB(), IsTileType(), and MP_CLEAR.

Referenced by GetSmallMapVegetationPixels(), GetTerrainType(), PlantTreesOnTile(), and TileLoopClearAlps().

static ClearGround GetClearGround ( TileIndex  t  )  [inline, static]

Get the type of clear tile.

Parameters:
t the tile to get the clear ground type of
Precondition:
IsTileType(t, MP_CLEAR)
Returns:
the ground type

Definition at line 61 of file clear_map.h.

References CLEAR_SNOW, GetRawClearGround(), and IsSnowTile().

Referenced by ClearSnow(), GetFieldType(), GetIndustryIndexOfField(), GetSmallMapVegetationPixels(), IsClearGround(), MakeSnow(), PlantTreesOnTile(), SetFieldType(), and SetIndustryIndexOfField().

static uint GetFenceSE ( TileIndex  t  )  [inline, static]

Is there a fence at the south eastern border?

Parameters:
t the tile to check for fences
Precondition:
IsTileType(t, MP_CLEAR) || IsTileType(t, MP_TREES)
Returns:
0 if there is no fence, otherwise the fence type

Definition at line 222 of file clear_map.h.

References _m, GB(), IsTileType(), MP_CLEAR, and MP_TREES.

static uint GetFenceSW ( TileIndex  t  )  [inline, static]

Is there a fence at the south western border?

Parameters:
t the tile to check for fences
Precondition:
IsTileType(t, MP_CLEAR) || IsTileType(t, MP_TREES)
Returns:
0 if there is no fence, otherwise the fence type

Definition at line 247 of file clear_map.h.

References _m, GB(), IsTileType(), MP_CLEAR, and MP_TREES.

static uint GetFieldType ( TileIndex  t  )  [inline, static]

Get the field type (production stage) of the field.

Parameters:
t the field to get the type of
Precondition:
GetClearGround(t) == CLEAR_FIELDS
Returns:
the field type

Definition at line 173 of file clear_map.h.

References _m, CLEAR_FIELDS, GB(), and GetClearGround().

static IndustryID GetIndustryIndexOfField ( TileIndex  t  )  [inline, static]

Get the industry (farm) that made the field.

Parameters:
t the field to get creating industry of
Precondition:
GetClearGround(t) == CLEAR_FIELDS
Returns:
the industry that made the field

Definition at line 197 of file clear_map.h.

References _m, CLEAR_FIELDS, GetClearGround(), and Tile::m2.

static ClearGround GetRawClearGround ( TileIndex  t  )  [inline, static]

Get the type of clear tile but never return CLEAR_SNOW.

Parameters:
t the tile to get the clear ground type of
Precondition:
IsTileType(t, MP_CLEAR)
Returns:
the ground type

Definition at line 49 of file clear_map.h.

References _m, GB(), IsTileType(), and MP_CLEAR.

Referenced by CanPlantTreesOnTile(), CmdPlantTree(), GetClearGround(), AITile::IsRockTile(), AITile::IsRoughTile(), and PlantTreesOnTile().

static bool IsClearGround ( TileIndex  t,
ClearGround  ct 
) [inline, static]

Set the type of clear tile.

Parameters:
t the tile to set the clear ground type of
ct the ground type
Precondition:
IsTileType(t, MP_CLEAR)

Definition at line 73 of file clear_map.h.

References GetClearGround().

Referenced by CanPlantTreesOnTile(), GetSmallMapVegetationPixels(), AITile::IsDesertTile(), and AITile::IsFarmTile().

static bool IsSnowTile ( TileIndex  t  )  [inline, static]

Test if a tile is covered with snow.

Parameters:
t the tile to check
Precondition:
IsTileType(t, MP_CLEAR)
Returns:
whether the tile is covered with snow.

Definition at line 37 of file clear_map.h.

References _m, HasBit(), IsTileType(), and MP_CLEAR.

Referenced by GetClearGround(), GetTerrainType(), and TileLoopClearAlps().

static void MakeClear ( TileIndex  t,
ClearGround  g,
uint  density 
) [inline, static]

Make a clear tile.

Parameters:
t the tile to make a clear tile
g the type of ground
density the density of the grass/snow/desert etc

Definition at line 273 of file clear_map.h.

References _m, _me, Tile::m2, Tile::m3, Tile::m4, TileExtended::m7, MayHaveBridgeAbove(), MP_CLEAR, OWNER_NONE, SB(), SetClearGroundDensity(), SetTileOwner(), and SetTileType().

Referenced by DoDryUp(), FixOwnerOfRailTrack(), GenerateRockyArea(), GrayscaleToMapHeights(), and TgenSetTileHeight().

static void MakeField ( TileIndex  t,
uint  field_type,
IndustryID  industry 
) [inline, static]

Make a (farm) field tile.

Parameters:
t the tile to make a farm field
field_type the 'growth' level of the field
industry the industry this tile belongs to

Definition at line 296 of file clear_map.h.

References _m, _me, CLEAR_FIELDS, Tile::m2, Tile::m3, Tile::m4, TileExtended::m7, MP_CLEAR, OWNER_NONE, SB(), SetClearGroundDensity(), SetTileOwner(), and SetTileType().

static void MakeSnow ( TileIndex  t,
uint  density = 0 
) [inline, static]

Make a snow tile.

Parameters:
t the tile to make snowy
Precondition:
GetClearGround(t) != CLEAR_SNOW

Definition at line 313 of file clear_map.h.

References _m, CLEAR_FIELDS, CLEAR_GRASS, CLEAR_SNOW, GetClearGround(), SetBit(), SetClearDensity(), and SetClearGroundDensity().

Referenced by TileLoopClearAlps().

static void SetClearCounter ( TileIndex  t,
uint  c 
) [inline, static]

Sets the counter used to advance to the next clear density/field type.

Parameters:
t the tile to set the counter of
c the amount to set the counter to
Precondition:
IsTileType(t, MP_CLEAR)

Definition at line 146 of file clear_map.h.

References _m, IsTileType(), MP_CLEAR, and SB().

static void SetClearDensity ( TileIndex  t,
uint  d 
) [inline, static]

Set the density of a non-field clear tile.

Parameters:
t the tile to set the density of
d the new density
Precondition:
IsTileType(t, MP_CLEAR)

Definition at line 109 of file clear_map.h.

References _m, IsTileType(), MP_CLEAR, and SB().

Referenced by ClearSnow(), and MakeSnow().

static void SetClearGroundDensity ( TileIndex  t,
ClearGround  type,
uint  density 
) [inline, static]

Sets ground type and density in one go, also sets the counter to 0.

Parameters:
t the tile to set the ground type and density for
type the new ground type of the tile
density the density of the ground tile
Precondition:
IsTileType(t, MP_CLEAR)

Definition at line 160 of file clear_map.h.

References _m, IsTileType(), Tile::m5, and MP_CLEAR.

Referenced by MakeClear(), MakeField(), and MakeSnow().

static void SetFenceSE ( TileIndex  t,
uint  h 
) [inline, static]

Sets the type of fence (and whether there is one) for the south eastern border.

Parameters:
t the tile to check for fences
h 0 if there is no fence, otherwise the fence type
Precondition:
IsTileType(t, MP_CLEAR) || IsTileType(t, MP_TREES)

Definition at line 235 of file clear_map.h.

References _m, IsTileType(), MP_CLEAR, MP_TREES, and SB().

static void SetFenceSW ( TileIndex  t,
uint  h 
) [inline, static]

Sets the type of fence (and whether there is one) for the south western border.

Parameters:
t the tile to check for fences
h 0 if there is no fence, otherwise the fence type
Precondition:
IsTileType(t, MP_CLEAR) || IsTileType(t, MP_TREES)

Definition at line 260 of file clear_map.h.

References _m, IsTileType(), MP_CLEAR, MP_TREES, and SB().

static void SetFieldType ( TileIndex  t,
uint  f 
) [inline, static]

Set the field type (production stage) of the field.

Parameters:
t the field to get the type of
f the field type
Precondition:
GetClearGround(t) == CLEAR_FIELDS

Definition at line 185 of file clear_map.h.

References _m, CLEAR_FIELDS, GetClearGround(), and SB().

static void SetIndustryIndexOfField ( TileIndex  t,
IndustryID  i 
) [inline, static]

Set the industry (farm) that made the field.

Parameters:
t the field to get creating industry of
i the industry that made the field
Precondition:
GetClearGround(t) == CLEAR_FIELDS

Definition at line 209 of file clear_map.h.

References _m, CLEAR_FIELDS, GetClearGround(), and Tile::m2.


Generated on Sat Nov 20 20:59:13 2010 for OpenTTD by  doxygen 1.6.1