#include "stdafx.h"
#include "openttd.h"
#include "tile_cmd.h"
#include "landscape.h"
#include "command_func.h"
#include "viewport_func.h"
#include "player_func.h"
#include "player_base.h"
#include "gui.h"
#include "station.h"
#include "town.h"
#include "sprite.h"
#include "bridge_map.h"
#include "unmovable_map.h"
#include "variables.h"
#include "genworld.h"
#include "bridge.h"
#include "autoslope.h"
#include "transparency.h"
#include "functions.h"
#include "window_func.h"
#include "vehicle_func.h"
#include "player_gui.h"
#include "table/strings.h"
#include "table/sprites.h"
#include "table/unmovable_land.h"
Go to the source code of this file.
Functions | |
static CommandCost | DestroyCompanyHQ (PlayerID pid, uint32 flags) |
Destroy a HQ. | |
void | UpdateCompanyHQ (Player *p, uint score) |
CommandCost | CheckFlatLandBelow (TileIndex tile, uint w, uint h, uint flags, uint invalid_dirs, StationID *station, bool check_clear=true) |
Tries to clear the given area. | |
CommandCost | CmdBuildCompanyHQ (TileIndex tile, uint32 flags, uint32 p1, uint32 p2) |
Build or relocate the HQ. | |
CommandCost | CmdPurchaseLandArea (TileIndex tile, uint32 flags, uint32 p1, uint32 p2) |
Purchase a land area. | |
CommandCost | CmdSellLandArea (TileIndex tile, uint32 flags, uint32 p1, uint32 p2) |
Sell a land area. | |
static Foundation | GetFoundation_Unmovable (TileIndex tile, Slope tileh) |
static void | DrawTile_Unmovable (TileInfo *ti) |
static uint | GetSlopeZ_Unmovable (TileIndex tile, uint x, uint y) |
static CommandCost | ClearTile_Unmovable (TileIndex tile, byte flags) |
static void | GetAcceptedCargo_Unmovable (TileIndex tile, AcceptedCargo ac) |
static void | GetTileDesc_Unmovable (TileIndex tile, TileDesc *td) |
static void | AnimateTile_Unmovable (TileIndex tile) |
static void | TileLoop_Unmovable (TileIndex tile) |
static TrackStatus | GetTileTrackStatus_Unmovable (TileIndex tile, TransportType mode, uint sub_mode, DiagDirection side) |
static void | ClickTile_Unmovable (TileIndex tile) |
static bool | IsRadioTowerNearby (TileIndex tile) |
void | GenerateUnmovables () |
static void | ChangeTileOwner_Unmovable (TileIndex tile, PlayerID old_player, PlayerID new_player) |
static CommandCost | TerraformTile_Unmovable (TileIndex tile, uint32 flags, uint z_new, Slope tileh_new) |
Variables | |
const TileTypeProcs | _tile_type_unmovable_procs |
Definition in file unmovable_cmd.cpp.
CommandCost CheckFlatLandBelow | ( | TileIndex | tile, | |
uint | w, | |||
uint | h, | |||
uint | flags, | |||
uint | invalid_dirs, | |||
StationID * | station, | |||
bool | check_clear = true | |||
) |
Tries to clear the given area.
tile | TileIndex to start check | |
w | width of search area | |
h | height of search area | |
flags | operation to perform | |
invalid_dirs | prohibited directions (set of DiagDirections) | |
station | StationID to be queried and returned if available | |
check_clear | if clearing tile should be performed (in wich case, cost will be added) |
Definition at line 703 of file station_cmd.cpp.
References CommandCost::AddCost(), BEGIN_TILE_LOOP, CMD_ERROR, CMD_LANDSCAPE_CLEAR, CmdFailed(), DC_AUTO, DIAGDIR_NE, DIAGDIR_NW, DIAGDIR_SE, DIAGDIR_SW, DoCommand(), END_TILE_LOOP, HasBit(), IsBridgeAbove(), IsSteepSlope(), IsTileType(), MayHaveBridgeAbove(), return_cmd_error, SLOPE_FLAT, SLOPE_NE, SLOPE_NW, SLOPE_SE, SLOPE_SW, and TILE_HEIGHT.
Referenced by CmdBuildAirport(), CmdBuildCompanyHQ(), CmdBuildRailroadStation(), and CmdBuildRoadStop().
CommandCost CmdBuildCompanyHQ | ( | TileIndex | tile, | |
uint32 | flags, | |||
uint32 | p1, | |||
uint32 | p2 | |||
) |
Build or relocate the HQ.
This depends if the HQ is already built or not
tile | tile where the HQ will be built or relocated to | |
flags | type of operation | |
p1 | unused | |
p2 | unused |
Definition at line 88 of file unmovable_cmd.cpp.
References CommandCost::AddCost(), CheckFlatLandBelow(), CmdFailed(), DC_EXEC, DestroyCompanyHQ(), MakeCompanyHQ(), and UpdateCompanyRatingAndValue().
CommandCost CmdPurchaseLandArea | ( | TileIndex | tile, | |
uint32 | flags, | |||
uint32 | p1, | |||
uint32 | p2 | |||
) |
Purchase a land area.
Actually you only purchase one tile, so the name is a bit confusing ;p
tile | the tile the player is purchasing | |
flags | for this command type | |
p1 | unused | |
p2 | unused |
Definition at line 122 of file unmovable_cmd.cpp.
References CommandCost::AddCost(), CMD_ERROR, CMD_LANDSCAPE_CLEAR, CmdFailed(), DC_EXEC, DoCommand(), IsOwnedLandTile(), IsTileOwner(), MakeOwnedLand(), MarkTileDirtyByTile(), and return_cmd_error.
CommandCost CmdSellLandArea | ( | TileIndex | tile, | |
uint32 | flags, | |||
uint32 | p1, | |||
uint32 | p2 | |||
) |
Sell a land area.
Actually you only sell one tile, so the name is a bit confusing ;p
tile | the tile the player is selling | |
flags | for this command type | |
p1 | unused | |
p2 | unused |
Definition at line 149 of file unmovable_cmd.cpp.
References CMD_ERROR, DC_EXEC, IsOwnedLandTile(), and OWNER_WATER.
static CommandCost DestroyCompanyHQ | ( | PlayerID | pid, | |
uint32 | flags | |||
) | [static] |
Destroy a HQ.
During normal gameplay you can only implicitely destroy a HQ when you are rebuilding it. Otherwise, only water can destroy it.
pid | Player requesting the destruction of his HQ | |
flags | docommand flags of calling function |
Definition at line 40 of file unmovable_cmd.cpp.
References DC_EXEC, and TileDiffXY().
Referenced by CmdBuildCompanyHQ().
const TileTypeProcs _tile_type_unmovable_procs |
Initial value:
{ DrawTile_Unmovable, GetSlopeZ_Unmovable, ClearTile_Unmovable, GetAcceptedCargo_Unmovable, GetTileDesc_Unmovable, GetTileTrackStatus_Unmovable, ClickTile_Unmovable, AnimateTile_Unmovable, TileLoop_Unmovable, ChangeTileOwner_Unmovable, NULL, NULL, GetFoundation_Unmovable, TerraformTile_Unmovable, }