# industry_map.h File Reference

Accessors for industries. More...

`#include "industrytype.h"`
`#include "water_map.h"`

Go to the source code of this file.

## Enumerations
enum | IndustryGraphics { GFX_COAL_MINE_TOWER_NOT_ANIMATED = 0, GFX_COAL_MINE_TOWER_ANIMATED = 1, GFX_POWERPLANT_CHIMNEY = 8, GFX_POWERPLANT_SPARKS = 10, GFX_OILRIG_1 = 24, GFX_OILRIG_2 = 25, GFX_OILRIG_3 = 26, GFX_OILRIG_4 = 27, GFX_OILRIG_5 = 28, GFX_OILWELL_NOT_ANIMATED = 29, GFX_OILWELL_ANIMATED_1 = 30, GFX_OILWELL_ANIMATED_2 = 31, GFX_OILWELL_ANIMATED_3 = 32, GFX_COPPER_MINE_TOWER_NOT_ANIMATED = 47, GFX_COPPER_MINE_TOWER_ANIMATED = 48, GFX_COPPER_MINE_CHIMNEY = 49, GFX_GOLD_MINE_TOWER_NOT_ANIMATED = 79, GFX_GOLD_MINE_TOWER_ANIMATED = 88, GFX_TOY_FACTORY = 143, GFX_PLASTIC_FOUNTAIN_ANIMATED_1 = 148, GFX_PLASTIC_FOUNTAIN_ANIMATED_2 = 149, GFX_PLASTIC_FOUNTAIN_ANIMATED_3 = 150, GFX_PLASTIC_FOUNTAIN_ANIMATED_4 = 151, GFX_PLASTIC_FOUNTAIN_ANIMATED_5 = 152, GFX_PLASTIC_FOUNTAIN_ANIMATED_6 = 153, GFX_PLASTIC_FOUNTAIN_ANIMATED_7 = 154, GFX_PLASTIC_FOUNTAIN_ANIMATED_8 = 155, GFX_BUBBLE_GENERATOR = 161, GFX_BUBBLE_CATCHER = 162, GFX_TOFFEE_QUARY = 165, GFX_SUGAR_MINE_SIEVE = 174, GFX_WATERTILE_SPECIALCHECK = 255 }
| The following enums are indices used to know what to draw for this industry tile. More...
## Functions
static IndustryID | GetIndustryIndex (TileIndex t)
| Get the industry ID of the given tile.
static bool | IsIndustryCompleted (TileIndex t)
| Is this industry tile fully built?
IndustryType | GetIndustryType (TileIndex tile)
| Retrieve the type for this industry.
static void | SetIndustryCompleted (TileIndex tile, bool isCompleted)
| Set if the industry that owns the tile as under construction or not.
static byte | GetIndustryConstructionStage (TileIndex tile)
| Returns the industry construction stage of the specified tile.
static void | SetIndustryConstructionStage (TileIndex tile, byte value)
| Sets the industry construction stage of the specified tile.
static IndustryGfx | GetCleanIndustryGfx (TileIndex t)
| Get the industry graphics ID for the given industry tile as stored in the without translation.
static IndustryGfx | GetIndustryGfx (TileIndex t)
| Get the industry graphics ID for the given industry tile.
static void | SetIndustryGfx (TileIndex t, IndustryGfx gfx)
| Set the industry graphics ID for the given industry tile.
static byte | GetIndustryConstructionCounter (TileIndex tile)
| Returns this indutry tile's construction counter value.
static void | SetIndustryConstructionCounter (TileIndex tile, byte value)
| Sets this indutry tile's construction counter value.
static void | ResetIndustryConstructionStage (TileIndex tile)
| Reset the construction stage counter of the industry, as well as the completion bit.
static byte | GetIndustryAnimationLoop (TileIndex tile)
| Get the animation loop number.
static void | SetIndustryAnimationLoop (TileIndex tile, byte count)
| Set the animation loop number.
static byte | GetIndustryRandomBits (TileIndex tile)
| Get the random bits for this tile.
static void | SetIndustryRandomBits (TileIndex tile, byte bits)
| Set the random bits for this tile.
static byte | GetIndustryTriggers (TileIndex tile)
| Get the activated triggers bits for this industry tile Used for grf callbacks.
static void | SetIndustryTriggers (TileIndex tile, byte triggers)
| Set the activated triggers bits for this industry tile Used for grf callbacks.
static void | MakeIndustry (TileIndex t, IndustryID index, IndustryGfx gfx, uint8 random, WaterClass wc)
| Make the given tile an industry tile.

## Detailed Description

Accessors for industries.

Definition in file industry_map.h.

## Enumeration Type Documentation

enum IndustryGraphics

The following enums are indices used to know what to draw for this industry tile.

They all are pointing toward array _industry_draw_tile_data, in table/industry_land.h How to calculate the correct position ? GFXid << 2 | IndustryStage (0 to 3)

Enumerator:

  GFX_WATERTILE_SPECIALCHECK | not really a tile, but rather a very special check

Definition at line 24 of file industry_map.h.

## Function Documentation

static IndustryGfx GetCleanIndustryGfx | ( | TileIndex | t | ) | `[inline, static]`

Get the industry graphics ID for the given industry tile as stored in the without translation.

Parameters:

  | t | the tile to get the gfx for

Precondition:
  IsTileType(t, MP_INDUSTRY)

Returns:
  the gfx ID

Definition at line 128 of file industry_map.h.

References _m, GB(), IsTileType(), Tile::m5, and MP_INDUSTRY.

Referenced by GetIndustryGfx(), and GetIndustryIDAtOffset().

static byte GetIndustryAnimationLoop | ( | TileIndex | tile | ) | `[inline, static]`

Get the animation loop number.

Parameters:

  | tile | the tile to get the animation loop number of

Precondition:
  IsTileType(tile, MP_INDUSTRY)

Definition at line 202 of file industry_map.h.

References _m, IsTileType(), Tile::m4, and MP_INDUSTRY.

static byte GetIndustryConstructionCounter | ( | TileIndex | tile | ) | `[inline, static]`

Returns this indutry tile's construction counter value.

Parameters:

  | tile | the tile to query

Precondition:
  IsTileType(tile, MP_INDUSTRY)

Returns:
  the construction counter

Definition at line 165 of file industry_map.h.

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

static byte GetIndustryConstructionStage | ( | TileIndex | tile | ) | `[inline, static]`

Returns the industry construction stage of the specified tile.

Parameters:

  | tile | the tile to query

Precondition:
  IsTileType(tile, MP_INDUSTRY)

Returns:
  the construction stage

Definition at line 103 of file industry_map.h.

References _m, GB(), INDUSTRY_COMPLETED, IsIndustryCompleted(), IsTileType(), and MP_INDUSTRY.

static IndustryGfx GetIndustryGfx | ( | TileIndex | t | ) | `[inline, static]`

Get the industry graphics ID for the given industry tile.

Parameters:

  | t | the tile to get the gfx for

Precondition:
  IsTileType(t, MP_INDUSTRY)

Returns:
  the gfx ID

Definition at line 140 of file industry_map.h.

References GetCleanIndustryGfx(), GetTranslatedIndustryTileID(), IsTileType(), and MP_INDUSTRY.

Referenced by AfterLoadGame(), GetIndustryTileResolver(), NIHIndustryTile::GetSpec(), and NIHIndustryTile::IsInspectable().

static IndustryID GetIndustryIndex | ( | TileIndex | t | ) | `[inline, static]`

Get the industry ID of the given tile.

Parameters:

  | t | the tile to get the industry ID from

Precondition:
  IsTileType(t, MP_INDUSTRY)

Returns:
  the industry ID

Definition at line 65 of file industry_map.h.

References _m, IsTileType(), Tile::m2, and MP_INDUSTRY.

Referenced by AITileList_IndustryAccepting::AITileList_IndustryAccepting(), AITileList_IndustryProducing::AITileList_IndustryProducing(), DisasterTick_Aircraft(), Industry::GetByTile(), AIIndustry::GetIndustryID(), GetIndustryIDAtOffset(), GetNearbyIndustryTileInformation(), NIHIndustryTile::GetParent(), IsWateredTile(), and NIHIndustryTile::SetStringParameters().

static byte GetIndustryRandomBits | ( | TileIndex | tile | ) | `[inline, static]`

Get the random bits for this tile.

Used for grf callbacks

Parameters:

  | tile | TileIndex of the tile to query

Precondition:
  IsTileType(tile, MP_INDUSTRY)

Returns:
  requested bits

Definition at line 227 of file industry_map.h.

References _m, IsTileType(), Tile::m3, and MP_INDUSTRY.

Referenced by IndustryGetVariable().

static byte GetIndustryTriggers | ( | TileIndex | tile | ) | `[inline, static]`

Get the activated triggers bits for this industry tile Used for grf callbacks.

Parameters:

  | tile | TileIndex of the tile to query

Precondition:
  IsTileType(tile, MP_INDUSTRY)

Returns:
  requested triggers

Definition at line 253 of file industry_map.h.

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

IndustryType GetIndustryType | ( | TileIndex | tile | ) |

Retrieve the type for this industry.

Although it is accessed by a tile, it will return the general type of industry, and not the sprite index as would do GetIndustryGfx.

Parameters:

  | tile | that is queried

Precondition:
  IsTileType(tile, MP_INDUSTRY)

Returns:
  general type for this industry, as defined in industry.h

Definition at line 95 of file industry_cmd.cpp.

References Industry::GetByTile(), IsTileType(), MP_INDUSTRY, and Industry::type.

Referenced by AfterLoadGame(), and FindNearIndustryName().

static bool IsIndustryCompleted | ( | TileIndex | t | ) | `[inline, static]`

Is this industry tile fully built?

Parameters:

  | t | the tile to analyze

Precondition:
  IsTileType(t, MP_INDUSTRY)

Returns:
  true if and only if the industry tile is fully built

Definition at line 77 of file industry_map.h.

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

Referenced by ChopLumberMillTrees(), and GetIndustryConstructionStage().

static void MakeIndustry | ( | TileIndex | t,
|  | IndustryID | index,
|  | IndustryGfx | gfx,
|  | uint8 | random,
|  | WaterClass | wc |
| ) |  |  | `[inline, static]`

Make the given tile an industry tile.

Parameters:

  | t | the tile to make an industry tile
  | index | the industry this tile belongs to
  | gfx | the graphics to use for the tile
  | random | the random value
  | wc | the water class for this industry; only useful when build on water

Definition at line 281 of file industry_map.h.

References _m, _me, Tile::m1, Tile::m2, Tile::m4, TileExtended::m7, MP_INDUSTRY, SetIndustryGfx(), SetIndustryRandomBits(), SetIndustryTriggers(), SetTileType(), and SetWaterClass().

Referenced by DoCreateNewIndustry().

static void ResetIndustryConstructionStage | ( | TileIndex | tile | ) | `[inline, static]`

Reset the construction stage counter of the industry, as well as the completion bit.

In fact, it is the same as restarting construction frmo ground up

Parameters:

  | tile | the tile to query

Precondition:
  IsTileType(tile, MP_INDUSTRY)

Definition at line 190 of file industry_map.h.

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

static void SetIndustryAnimationLoop | ( | TileIndex | tile,
|  | byte | count |
| ) |  |  | `[inline, static]`

Set the animation loop number.

Parameters:

  | tile | the tile to set the animation loop number of
  | count | the new animation frame number

Precondition:
  IsTileType(tile, MP_INDUSTRY)

Definition at line 214 of file industry_map.h.

References _m, IsTileType(), Tile::m4, and MP_INDUSTRY.

static void SetIndustryCompleted | ( | TileIndex | tile,
|  | bool | isCompleted |
| ) |  |  | `[inline, static]`

Set if the industry that owns the tile as under construction or not.

Parameters:

  | tile | the tile to query
  | isCompleted | whether it is completed or not

Precondition:
  IsTileType(tile, MP_INDUSTRY)

Definition at line 91 of file industry_map.h.

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

static void SetIndustryConstructionCounter | ( | TileIndex | tile,
|  | byte | value |
| ) |  |  | `[inline, static]`

Sets this indutry tile's construction counter value.

Parameters:

  | tile | the tile to query
  | value | the new value for the construction counter

Precondition:
  IsTileType(tile, MP_INDUSTRY)

Definition at line 177 of file industry_map.h.

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

Referenced by DoCreateNewIndustry().

static void SetIndustryConstructionStage | ( | TileIndex | tile,
|  | byte | value |
| ) |  |  | `[inline, static]`

Sets the industry construction stage of the specified tile.

Parameters:

  | tile | the tile to query
  | value | the new construction stage

Precondition:
  IsTileType(tile, MP_INDUSTRY)

Definition at line 115 of file industry_map.h.

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

Referenced by DoCreateNewIndustry().

static void SetIndustryGfx | ( | TileIndex | t,
|  | IndustryGfx | gfx |
| ) |  |  | `[inline, static]`

Set the industry graphics ID for the given industry tile.

Parameters:

  | t | the tile to set the gfx for

Precondition:
  IsTileType(t, MP_INDUSTRY)

Parameters:

  | gfx | the graphics ID

Definition at line 152 of file industry_map.h.

References _m, GB(), IsTileType(), Tile::m5, MP_INDUSTRY, and SB().

Referenced by MakeIndustry().

static void SetIndustryRandomBits | ( | TileIndex | tile,
|  | byte | bits |
| ) |  |  | `[inline, static]`

Set the random bits for this tile.

Used for grf callbacks

Parameters:

  | tile | TileIndex of the tile to query
  | bits | the random bits

Precondition:
  IsTileType(tile, MP_INDUSTRY)

Definition at line 240 of file industry_map.h.

References _m, IsTileType(), Tile::m3, and MP_INDUSTRY.

Referenced by MakeIndustry().

static void SetIndustryTriggers | ( | TileIndex | tile,
|  | byte | triggers |
| ) |  |  | `[inline, static]`

Set the activated triggers bits for this industry tile Used for grf callbacks.

Parameters:

  | tile | TileIndex of the tile to query
  | triggers | the triggers to set

Precondition:
  IsTileType(tile, MP_INDUSTRY)

Definition at line 267 of file industry_map.h.

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

Referenced by MakeIndustry().