town_map.h File Reference

Accessors for towns. More...

#include "town.h"
#include "tile_map.h"

Go to the source code of this file.

Functions

static TownID GetTownIndex (TileIndex t)
 Get the index of which town this house/street is attached to.
static void SetTownIndex (TileIndex t, TownID index)
 Set the town index for a road or house tile.
static Town * GetTownByTile (TileIndex t)
 Gets the town associated with the house or road tile.
static HouseID GetHouseType (TileIndex t)
 Get the type of this house, which is an index into the house spec array Since m4 is only a byte and we want to support 512 houses, we use the bit 6 of m3 as an additional bit to house type.
static void SetHouseType (TileIndex t, HouseID house_id)
 Set the house type.
static bool LiftHasDestination (TileIndex t)
 Check if the lift of this animated house has a destination.
static void SetLiftDestination (TileIndex t, byte dest)
 Set the new destination of the lift for this animated house, and activate the LiftHasDestination bit.
static byte GetLiftDestination (TileIndex t)
 Get the current destination for this lift.
static void HaltLift (TileIndex t)
 Stop the lift of this animated house from moving.
static byte GetLiftPosition (TileIndex t)
 Get the position of the lift on this animated house.
static void SetLiftPosition (TileIndex t, byte pos)
 Set the position of the lift on this animated house.
static byte GetHouseAnimationFrame (TileIndex t)
 Get the current animation frame for this house.
static void SetHouseAnimationFrame (TileIndex t, byte frame)
 Set a new animation frame for this house.
static bool IsHouseCompleted (TileIndex t)
 Get the completion of this house.
static void SetHouseCompleted (TileIndex t, bool status)
 Mark this house as been completed.
static void MakeHouseTile (TileIndex t, TownID tid, byte counter, byte stage, HouseID type, byte random_bits)
 Make the tile a house.
static byte GetHouseBuildingStage (TileIndex t)
 House Construction Scheme.
static byte GetHouseConstructionTick (TileIndex t)
 Gets the construction stage of a house.
static void IncHouseConstructionTick (TileIndex t)
 Sets the increment stage of a house It is working with the whole counter + stage 5 bits, making it easier to work: the wraparound is automatic.
static void ResetHouseAge (TileIndex t)
 Sets the age of the house to zero.
static void IncrementHouseAge (TileIndex t)
 Increments the age of the house.
static Year GetHouseAge (TileIndex t)
 Get the age of the house.
static void SetHouseRandomBits (TileIndex t, byte random)
 Set the random bits for this house.
static byte GetHouseRandomBits (TileIndex t)
 Get the random bits for this house.
static void SetHouseTriggers (TileIndex t, byte triggers)
 Set the activated triggers bits for this house.
static byte GetHouseTriggers (TileIndex t)
 Get the already activated triggers bits for this house.
static byte GetHouseProcessingTime (TileIndex t)
 Get the amount of time remaining before the tile loop processes this tile.
static void SetHouseProcessingTime (TileIndex t, byte time)
 Set the amount of time remaining before the tile loop processes this tile.
static void DecHouseProcessingTime (TileIndex t)
 Decrease the amount of time remaining before the tile loop processes this tile.


Detailed Description

Accessors for towns.

Definition in file town_map.h.


Function Documentation

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

Decrease the amount of time remaining before the tile loop processes this tile.

Parameters:
t the house tile
Precondition:
IsTileType(t, MP_HOUSE)

Definition at line 382 of file town_map.h.

References _me, IsTileType(), TileExtended::m7, and MP_HOUSE.

static Year GetHouseAge ( TileIndex  t  )  [inline, static]

Get the age of the house.

Parameters:
t the tile of this house
Precondition:
IsTileType(t, MP_HOUSE)
Returns:
year

Definition at line 295 of file town_map.h.

References _m, IsHouseCompleted(), IsTileType(), Tile::m5, and MP_HOUSE.

Referenced by HouseGetVariable(), and TileLoop_Town().

static byte GetHouseAnimationFrame ( TileIndex  t  )  [inline, static]

Get the current animation frame for this house.

Parameters:
t the tile
Precondition:
IsTileType(t, MP_HOUSE)
Returns:
frame number

Definition at line 142 of file town_map.h.

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

Referenced by HouseGetVariable().

static byte GetHouseBuildingStage ( TileIndex  t  )  [inline, static]

House Construction Scheme.

Construction counter, for buildings under construction. Incremented on every periodic tile processing. On wraparound, the stage of building in is increased. GetHouseBuildingStage is taking care of the real stages, (as the sprite for the next phase of house building) (Get|Inc)HouseConstructionTick is simply a tick counter between the different stages Gets the building stage of a house Since the stage is used for determining what sprite to use, if the house is complete (and that stage no longuer is available), fool the system by returning the TOWN_HOUSE_COMPLETE (3), thus showing a beautiful complete house.

Parameters:
t the tile of the house to get the building stage of
Precondition:
IsTileType(t, MP_HOUSE)
Returns:
the building stage of the house

Definition at line 229 of file town_map.h.

References _m, GB(), IsHouseCompleted(), IsTileType(), MP_HOUSE, and TOWN_HOUSE_COMPLETED.

Referenced by DrawTile_Town(), and HouseGetVariable().

static byte GetHouseConstructionTick ( TileIndex  t  )  [inline, static]

Gets the construction stage of a house.

Parameters:
t the tile of the house to get the construction stage of
Precondition:
IsTileType(t, MP_HOUSE)
Returns:
the construction stage of the house

Definition at line 241 of file town_map.h.

References _m, GB(), IsHouseCompleted(), IsTileType(), and MP_HOUSE.

Referenced by MakeSingleHouseBigger().

static byte GetHouseProcessingTime ( TileIndex  t  )  [inline, static]

Get the amount of time remaining before the tile loop processes this tile.

Parameters:
t the house tile
Precondition:
IsTileType(t, MP_HOUSE)
Returns:
time remaining

Definition at line 359 of file town_map.h.

References _me, IsTileType(), TileExtended::m7, and MP_HOUSE.

static byte GetHouseRandomBits ( TileIndex  t  )  [inline, static]

Get the random bits for this house.

This is required for newgrf house

Parameters:
t the tile of this house
Precondition:
IsTileType(t, MP_HOUSE)
Returns:
random bits

Definition at line 321 of file town_map.h.

References _m, IsTileType(), Tile::m1, and MP_HOUSE.

static byte GetHouseTriggers ( TileIndex  t  )  [inline, static]

Get the already activated triggers bits for this house.

This is required for newgrf house

Parameters:
t the tile of this house
Precondition:
IsTileType(t, MP_HOUSE)
Returns:
triggers

Definition at line 347 of file town_map.h.

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

static HouseID GetHouseType ( TileIndex  t  )  [inline, static]

Get the type of this house, which is an index into the house spec array Since m4 is only a byte and we want to support 512 houses, we use the bit 6 of m3 as an additional bit to house type.

Parameters:
t the tile
Precondition:
IsTileType(t, MP_HOUSE)
Returns:
house type

Definition at line 54 of file town_map.h.

References _m, GB(), IsTileType(), Tile::m4, and MP_HOUSE.

Referenced by AnimateTile_Town(), DrawTile_Town(), MakeSingleHouseBigger(), MakeTownHouseBigger(), SearchNearbyHouseClass(), SearchNearbyHouseGRFID(), SearchNearbyHouseID(), TileLoop_Town(), and UpdateHousesAndTowns().

static byte GetLiftDestination ( TileIndex  t  )  [inline, static]

Get the current destination for this lift.

Parameters:
t the tile
Returns:
destination

Definition at line 100 of file town_map.h.

References _me, and GB().

Referenced by AnimateTile_Town().

static byte GetLiftPosition ( TileIndex  t  )  [inline, static]

Get the position of the lift on this animated house.

Parameters:
t the tile
Returns:
position, from 0 to 36

Definition at line 121 of file town_map.h.

References _m, and GB().

Referenced by AnimateTile_Town().

static Town* GetTownByTile ( TileIndex  t  )  [inline, static]

Gets the town associated with the house or road tile.

Parameters:
t the tile to get the town of
Returns:
the town

Definition at line 41 of file town_map.h.

References GetTownIndex().

Referenced by GrowTownAtRoad(), MakeSingleHouseBigger(), TileLoop_Town(), and UpdateHousesAndTowns().

static TownID GetTownIndex ( TileIndex  t  )  [inline, static]

Get the index of which town this house/street is attached to.

Parameters:
t the tile
Precondition:
IsTileType(t, MP_HOUSE) or IsTileType(t, MP_ROAD)
Returns:
TownID

Definition at line 17 of file town_map.h.

References _m, IsTileType(), Tile::m2, MP_HOUSE, and MP_ROAD.

Referenced by CanBuildHouseHere(), CmdBuildSingleRail(), CmdRemoveSingleRail(), FixOwnerOfRailTrack(), and GetTownByTile().

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

Stop the lift of this animated house from moving.

Clears the first 4 bits of m7 at once, clearing the LiftHasDestination bit and the destination.

Parameters:
t the tile

Definition at line 111 of file town_map.h.

References _me, and SB().

Referenced by AnimateTile_Town().

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

Sets the increment stage of a house It is working with the whole counter + stage 5 bits, making it easier to work: the wraparound is automatic.

Parameters:
t the tile of the house to increment the construction stage of
Precondition:
IsTileType(t, MP_HOUSE)

Definition at line 254 of file town_map.h.

References _m, AB(), GB(), IsTileType(), MP_HOUSE, SetHouseCompleted(), and TOWN_HOUSE_COMPLETED.

Referenced by MakeSingleHouseBigger().

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

Increments the age of the house.

Parameters:
t the tile of this house
Precondition:
IsTileType(t, MP_HOUSE)

Definition at line 283 of file town_map.h.

References _m, IsHouseCompleted(), IsTileType(), Tile::m5, and MP_HOUSE.

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

Get the completion of this house.

Parameters:
t the tile
Returns:
true if it is, false if it is not

Definition at line 166 of file town_map.h.

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

Referenced by GetHouseAge(), GetHouseBuildingStage(), GetHouseConstructionTick(), IncrementHouseAge(), MakeHouseTile(), MakeSingleHouseBigger(), ResetHouseAge(), TileLoop_Town(), and UpdateHousesAndTowns().

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

Check if the lift of this animated house has a destination.

Parameters:
t the tile
Returns:
has destination

Definition at line 78 of file town_map.h.

References _me, and HasBit().

Referenced by AnimateTile_Town(), MakeSingleHouseBigger(), and TileLoop_Town().

static void MakeHouseTile ( TileIndex  t,
TownID  tid,
byte  counter,
byte  stage,
HouseID  type,
byte  random_bits 
) [inline, static]

Make the tile a house.

Parameters:
t tile index
tid Town index
counter of construction step
stage of construction (used for drawing)
type of house. Index into house specs array
random_bits required for newgrf houses
Precondition:
IsTileType(t, MP_CLEAR)

Definition at line 193 of file town_map.h.

References _m, _me, IsHouseCompleted(), IsTileType(), Tile::m1, Tile::m2, Tile::m3, Tile::m5, TileExtended::m7, MP_CLEAR, MP_HOUSE, SetHouseAnimationFrame(), SetHouseCompleted(), SetHouseType(), SetTileType(), and TOWN_HOUSE_COMPLETED.

Referenced by ClearMakeHouseTile().

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

Sets the age of the house to zero.

Needs to be called after the house is completed. During construction stages the map space is used otherwise.

Parameters:
t the tile of this house
Precondition:
IsTileType(t, MP_HOUSE) && IsHouseCompleted(t)

Definition at line 272 of file town_map.h.

References _m, IsHouseCompleted(), IsTileType(), Tile::m5, and MP_HOUSE.

Referenced by MakeSingleHouseBigger().

static void SetHouseAnimationFrame ( TileIndex  t,
byte  frame 
) [inline, static]

Set a new animation frame for this house.

Parameters:
t the tile
frame the new frame number
Precondition:
IsTileType(t, MP_HOUSE)

Definition at line 154 of file town_map.h.

References _m, GB(), IsTileType(), MP_HOUSE, and SB().

Referenced by MakeHouseTile().

static void SetHouseCompleted ( TileIndex  t,
bool  status 
) [inline, static]

Mark this house as been completed.

Parameters:
t the tile
status 

Definition at line 177 of file town_map.h.

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

Referenced by IncHouseConstructionTick(), and MakeHouseTile().

static void SetHouseProcessingTime ( TileIndex  t,
byte  time 
) [inline, static]

Set the amount of time remaining before the tile loop processes this tile.

Parameters:
t the house tile
time the time to be set
Precondition:
IsTileType(t, MP_HOUSE)

Definition at line 371 of file town_map.h.

References _me, IsTileType(), TileExtended::m7, and MP_HOUSE.

static void SetHouseRandomBits ( TileIndex  t,
byte  random 
) [inline, static]

Set the random bits for this house.

This is required for newgrf house

Parameters:
t the tile of this house
random the new random bits
Precondition:
IsTileType(t, MP_HOUSE)

Definition at line 308 of file town_map.h.

References _m, IsTileType(), Tile::m1, and MP_HOUSE.

static void SetHouseTriggers ( TileIndex  t,
byte  triggers 
) [inline, static]

Set the activated triggers bits for this house.

This is required for newgrf house

Parameters:
t the tile of this house
triggers the activated triggers
Precondition:
IsTileType(t, MP_HOUSE)

Definition at line 334 of file town_map.h.

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

static void SetHouseType ( TileIndex  t,
HouseID  house_id 
) [inline, static]

Set the house type.

Parameters:
t the tile
house_id the new house type
Precondition:
IsTileType(t, MP_HOUSE)

Definition at line 66 of file town_map.h.

References _m, GB(), IsTileType(), Tile::m4, MP_HOUSE, and SB().

Referenced by MakeHouseTile(), and UpdateHousesAndTowns().

static void SetLiftDestination ( TileIndex  t,
byte  dest 
) [inline, static]

Set the new destination of the lift for this animated house, and activate the LiftHasDestination bit.

Parameters:
t the tile
dest new destination

Definition at line 89 of file town_map.h.

References _me, SB(), and SetBit().

Referenced by AnimateTile_Town().

static void SetLiftPosition ( TileIndex  t,
byte  pos 
) [inline, static]

Set the position of the lift on this animated house.

Parameters:
t the tile
pos position, from 0 to 36

Definition at line 131 of file town_map.h.

References _m, and SB().

Referenced by AnimateTile_Town().

static void SetTownIndex ( TileIndex  t,
TownID  index 
) [inline, static]

Set the town index for a road or house tile.

Parameters:
t the tile
Precondition:
IsTileType(t, MP_HOUSE) or IsTileType(t, MP_ROAD)
Parameters:
index the index of the town
Precondition:
IsTileType(t, MP_ROAD) || IsTileType(t, MP_HOUSE)

Definition at line 30 of file town_map.h.

References _m, IsTileType(), Tile::m2, MP_HOUSE, and MP_ROAD.

Referenced by CmdBuildRoad(), GrowTownAtRoad(), RemoveRoad(), and UpdateNearestTownForRoadTiles().


Generated on Wed Jul 15 20:36:17 2009 for OpenTTD by  doxygen 1.5.6