terraform_cmd.cpp File Reference

Commands related to terraforming. More...

#include "stdafx.h"
#include "command_func.h"
#include "tunnel_map.h"
#include "bridge_map.h"
#include "viewport_func.h"
#include "economy_func.h"
#include "genworld.h"
#include "object_base.h"
#include "company_base.h"
#include "company_func.h"
#include "table/strings.h"

Go to the source code of this file.

Data Structures

struct  TerraformerHeightMod
struct  TerraformerState

Functions

static int TerraformGetHeightOfTile (const TerraformerState *ts, TileIndex tile)
 Gets the TileHeight (height of north corner) of a tile as of current terraforming progress.
static void TerraformSetHeightOfTile (TerraformerState *ts, TileIndex tile, int height)
 Stores the TileHeight (height of north corner) of a tile in a TerraformerState.
static void TerraformAddDirtyTile (TerraformerState *ts, TileIndex tile)
 Adds a tile to the "tile_table" in a TerraformerState.
static void TerraformAddDirtyTileAround (TerraformerState *ts, TileIndex tile)
 Adds all tiles that incident with the north corner of a specific tile to the "tile_table" in a TerraformerState.
static CommandCost TerraformTileHeight (TerraformerState *ts, TileIndex tile, int height)
 Terraform the north corner of a tile to a specific height.
CommandCost CmdTerraformLand (TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text)
 Terraform land.
CommandCost CmdLevelLand (TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text)
 Levels a selected (rectangle) area of land.

Variables

static const int TERRAFORMER_MODHEIGHT_SIZE = 2 * MAX_TILE_HEIGHT * (MAX_TILE_HEIGHT + 1)
static const int TERRAFORMER_TILE_TABLE_SIZE = 1 + 2 * MAX_TILE_HEIGHT * (MAX_TILE_HEIGHT + 3)
TileIndex _terraform_err_tile
 first tile we couldn't terraform

Detailed Description

Commands related to terraforming.

Definition in file terraform_cmd.cpp.


Function Documentation

CommandCost CmdLevelLand ( TileIndex  tile,
DoCommandFlag  flags,
uint32  p1,
uint32  p2,
const char *  text 
)

Levels a selected (rectangle) area of land.

Parameters:
tile end tile of area-drag
flags for this command type
p1 start tile of area drag
p2 various bitstuffed data. bit 0: Whether to use the Orthogonal (0) or Diagonal (1) iterator. bits 1 - 2: Mode of leveling LevelMode.
text unused
Returns:
the cost of this operation or an error

Definition at line 397 of file terraform_cmd.cpp.

References _current_company, _terraform_err_tile, CommandCost::AddCost(), CMD_ERROR, CMD_TERRAFORM_LAND, DC_EXEC, DoCommand(), EXPENSES_CONSTRUCTION, CommandCost::Failed(), GB(), GetAvailableMoneyForCommand(), CommandCost::GetCost(), CommandCost::GetErrorMessage(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_company_pool >::GetIfValid(), HasBit(), INVALID_STRING_ID, INVALID_TILE, LM_LEVEL, LM_LOWER, LM_RAISE, MapSize(), MAX_TILE_HEIGHT, return_cmd_error, SLOPE_N, CompanyProperties::terraform_limit, and TileHeight().

CommandCost CmdTerraformLand ( TileIndex  tile,
DoCommandFlag  flags,
uint32  p1,
uint32  p2,
const char *  text 
)
static int TerraformGetHeightOfTile ( const TerraformerState ts,
TileIndex  tile 
) [static]

Gets the TileHeight (height of north corner) of a tile as of current terraforming progress.

Parameters:
ts TerraformerState.
tile Tile.
Returns:
TileHeight.

Definition at line 68 of file terraform_cmd.cpp.

References TerraformerHeightMod::height, TerraformerState::modheight, TerraformerState::modheight_count, TerraformerHeightMod::tile, and TileHeight().

Referenced by CmdTerraformLand(), and TerraformTileHeight().

static void TerraformSetHeightOfTile ( TerraformerState ts,
TileIndex  tile,
int  height 
) [static]

Stores the TileHeight (height of north corner) of a tile in a TerraformerState.

Parameters:
ts TerraformerState.
tile Tile.
height New TileHeight.

Definition at line 87 of file terraform_cmd.cpp.

References TerraformerHeightMod::height, TerraformerState::modheight, TerraformerState::modheight_count, and TerraformerHeightMod::tile.

Referenced by TerraformTileHeight().

static CommandCost TerraformTileHeight ( TerraformerState ts,
TileIndex  tile,
int  height 
) [static]

Generated on Fri May 27 04:20:13 2011 for OpenTTD by  doxygen 1.6.1