OpenTTD Source: src/industry_type.h File Reference

OpenTTD Source 15.3

Typedefs | Enumerations | Functions | Variables
industry_type.h File Reference

Types related to the industry. More...

`#include "core/pool_type.hpp"`

Go to the source code of this file.

## Typedefs
using | IndustryID = PoolID< uint16_t, struct IndustryIDTag, 64000, 0xFFFF >
typedef uint16_t | IndustryGfx
typedef uint8_t | IndustryType
using | IndustryRandomTriggers = EnumBitSet< IndustryRandomTrigger, uint8_t >
using | IndustryAnimationTriggers = EnumBitSet< IndustryAnimationTrigger, uint8_t >

## Enumerations
enum class | IndustryRandomTrigger : uint8_t { TileLoop , IndustryTick , CargoReceived }
| Available industry random triggers. More...
enum class | IndustryAnimationTrigger : uint8_t { ConstructionStageChanged , TileLoop , IndustryTick , CargoReceived , CargoDistributed }
| Animation triggers of the industries. More...

## Functions
void | CheckIndustries ()
| Verify whether the generated industries are complete, and warn the user if not.

## Variables
static const IndustryType | NUM_INDUSTRYTYPES_PER_GRF = 128
| maximum number of industry types per NewGRF; limited to 128 because bit 7 has a special meaning in some variables/callbacks (see MapNewGRFIndustryType).
static const IndustryType | NEW_INDUSTRYOFFSET = 37
| original number of industry types
static const IndustryType | NUM_INDUSTRYTYPES = 240
| total number of industry types, new and old; limited to 240 because we need some special ids like IT_INVALID, IT_AI_UNKNOWN, IT_AI_TOWN, ...
static const IndustryType | IT_INVALID = 0xFF
static const IndustryGfx | NUM_INDUSTRYTILES_PER_GRF = 255
| Maximum number of industry tiles per NewGRF; limited to 255 to allow extending Action3 with an extended byte later on.
static const IndustryGfx | INDUSTRYTILE_NOANIM = 0xFF
| flag to mark industry tiles as having no animation
static const IndustryGfx | NEW_INDUSTRYTILEOFFSET = 175
| original number of tiles
static const IndustryGfx | NUM_INDUSTRYTILES = 512
| total number of industry tiles, new and old
static const IndustryGfx | INVALID_INDUSTRYTILE = NUM_INDUSTRYTILES
| one above amount is considered invalid
static const int | INDUSTRY_COMPLETED = 3
| final stage of industry construction.
static const int | INDUSTRY_NUM_INPUTS = 16
| Number of cargo types an industry can accept.
static const int | INDUSTRY_NUM_OUTPUTS = 16
| Number of cargo types an industry can produce.
static const int | INDUSTRY_ORIGINAL_NUM_INPUTS = 3
| Original number of accepted cargo types.
static const int | INDUSTRY_ORIGINAL_NUM_OUTPUTS = 2
| Original number of produced cargo types.

## Detailed Description

Types related to the industry.

Definition in file industry_type.h.

## Typedef Documentation

## ◆ IndustryAnimationTriggers

using IndustryAnimationTriggers = EnumBitSet<IndustryAnimationTrigger, uint8_t>

Definition at line 40 of file industry_type.h.

## ◆ IndustryGfx

typedef uint16_t IndustryGfx

Definition at line 17 of file industry_type.h.

## ◆ IndustryID

using IndustryID = PoolID<uint16_t, struct IndustryIDTag, 64000, 0xFFFF>

Definition at line 15 of file industry_type.h.

## ◆ IndustryRandomTriggers

using IndustryRandomTriggers = EnumBitSet<IndustryRandomTrigger, uint8_t>

Definition at line 30 of file industry_type.h.

## ◆ IndustryType

typedef uint8_t IndustryType

Definition at line 18 of file industry_type.h.

## Enumeration Type Documentation

## ◆ IndustryAnimationTrigger

enum class IndustryAnimationTrigger : uint8_t
| strong

Animation triggers of the industries.

Enumerator
ConstructionStageChanged | Trigger whenever the construction stage changes.
TileLoop | Trigger in the periodic tile loop.
IndustryTick | Trigger every tick.
CargoReceived | Trigger when cargo is received .
CargoDistributed | Trigger when cargo is distributed.

Definition at line 33 of file industry_type.h.

## ◆ IndustryRandomTrigger

enum class IndustryRandomTrigger : uint8_t
| strong

Available industry random triggers.

Enumerator
TileLoop | The tile of the industry has been triggered during the tileloop.
IndustryTick | The industry has been triggered via its tick.
CargoReceived | Cargo has been delivered.

Definition at line 25 of file industry_type.h.

## Function Documentation

## ◆ CheckIndustries()

void CheckIndustries | ( |  | ) |

Verify whether the generated industries are complete, and warn the user if not.

Definition at line 3160 of file industry_cmd.cpp.

References GetEncodedString(), GetIndustrySpec(), Industry::GetIndustryTypeCount(), GetScaledIndustryGenerationProbability(), IndustrySpec::name, NUM_INDUSTRYTYPES, ShowErrorMessage(), and WL_WARNING.

## Variable Documentation

## ◆ INDUSTRY_COMPLETED

const int INDUSTRY_COMPLETED = 3
| static

final stage of industry construction.

Definition at line 55 of file industry_type.h.

Referenced by GetIndustryConstructionStage().

## ◆ INDUSTRY_NUM_INPUTS

const int INDUSTRY_NUM_INPUTS = 16
| static

Number of cargo types an industry can accept.

Definition at line 57 of file industry_type.h.

Referenced by DoCreateNewIndustry(), and INDYChunkHandler::Load().

## ◆ INDUSTRY_NUM_OUTPUTS

const int INDUSTRY_NUM_OUTPUTS = 16
| static

Number of cargo types an industry can produce.

Definition at line 58 of file industry_type.h.

Referenced by DoCreateNewIndustry(), and INDYChunkHandler::Load().

## ◆ INDUSTRY_ORIGINAL_NUM_INPUTS

const int INDUSTRY_ORIGINAL_NUM_INPUTS = 3
| static

Original number of accepted cargo types.

Definition at line 59 of file industry_type.h.

Referenced by GetCargoSuffix(), IgnoreIndustryProperty(), IndustriesChangeInfo(), and INDYChunkHandler::Load().

## ◆ INDUSTRY_ORIGINAL_NUM_OUTPUTS

const int INDUSTRY_ORIGINAL_NUM_OUTPUTS = 2
| static

Original number of produced cargo types.

Definition at line 60 of file industry_type.h.

Referenced by GetCargoSuffix(), IndustriesChangeInfo(), and INDYChunkHandler::Load().

## ◆ INDUSTRYTILE_NOANIM

const IndustryGfx INDUSTRYTILE_NOANIM = 0xFF
| static

flag to mark industry tiles as having no animation

Definition at line 50 of file industry_type.h.

Referenced by IndustrytilesChangeInfo().

## ◆ INVALID_INDUSTRYTILE

const IndustryGfx INVALID_INDUSTRYTILE = NUM_INDUSTRYTILES
| static

one above amount is considered invalid

Definition at line 53 of file industry_type.h.

Referenced by GetIndustryIDAtOffset(), GetTranslatedIndustryTileID(), and IndustriesChangeInfo().

## ◆ IT_INVALID

const IndustryType IT_INVALID = 0xFF
| static

Definition at line 46 of file industry_type.h.

## ◆ NEW_INDUSTRYOFFSET

const IndustryType NEW_INDUSTRYOFFSET = 37
| static

original number of industry types

Definition at line 44 of file industry_type.h.

Referenced by IndustriesChangeInfo().

## ◆ NEW_INDUSTRYTILEOFFSET

const IndustryGfx NEW_INDUSTRYTILEOFFSET = 175
| static

original number of tiles

Definition at line 51 of file industry_type.h.

Referenced by GetIndustryIDAtOffset(), and IndustrytilesChangeInfo().

## ◆ NUM_INDUSTRYTILES

const IndustryGfx NUM_INDUSTRYTILES = 512
| static

total number of industry tiles, new and old

Definition at line 52 of file industry_type.h.

Referenced by GetIndustryTileSpec(), and GetTranslatedIndustryTileID().

## ◆ NUM_INDUSTRYTILES_PER_GRF

const IndustryGfx NUM_INDUSTRYTILES_PER_GRF = 255
| static

Maximum number of industry tiles per NewGRF; limited to 255 to allow extending Action3 with an extended byte later on.

Definition at line 48 of file industry_type.h.

Referenced by IndustrytilesChangeInfo().

## ◆ NUM_INDUSTRYTYPES

const IndustryType NUM_INDUSTRYTYPES = 240
| static

total number of industry types, new and old; limited to 240 because we need some special ids like IT_INVALID, IT_AI_UNKNOWN, IT_AI_TOWN, ...

Definition at line 45 of file industry_type.h.

Referenced by SmallMapWindow::BreakIndustryChainLink(), IndustryCargoesWindow::CalculatePositionInWidget(), CheckIndustries(), CmdBuildIndustry(), IndustryCargoesWindow::ComputeCargoDisplay(), IndustryCargoesWindow::ComputeIndustryDisplay(), CargoesRow::ConnectIndustryAccepted(), CargoesRow::ConnectIndustryProduced(), IndustryCargoesWindow::CountMatchingAcceptingIndustries(), IndustryCargoesWindow::CountMatchingProducingIndustries(), CargoesField::Draw(), IndustryCargoesWindow::DrawWidget(), GenerateIndustries(), GenerateStationName(), GetCountAndDistanceOfClosestInstance(), GetIndustrySpec(), Industry::GetIndustryTypeCount(), GetScaledProbabilities(), IndustriesScopeResolver::GetVariable(), IndustryCargoesWindow::GetWidgetString(), IndustryDirectoryWindow::IndustryTypeSorter(), ITBLChunkHandler::Load(), IndustryCargoesWindow::OnClick(), IndustryCargoesWindow::OnInit(), IndustryCargoesWindow::OnInvalidateData(), IndustryCargoesWindow::OnTooltip(), IndustryBuildData::Reset(), ITBLChunkHandler::Save(), IndustryBuildData::SetupTargetCount(), ShowIndustryCargoesWindow(), ShowIndustryCargoesWindow(), SortIndustryTypes(), and IndustryBuildData::TryBuildNewIndustry().

## ◆ NUM_INDUSTRYTYPES_PER_GRF

const IndustryType NUM_INDUSTRYTYPES_PER_GRF = 128
| static

maximum number of industry types per NewGRF; limited to 128 because bit 7 has a special meaning in some variables/callbacks (see MapNewGRFIndustryType).

Definition at line 42 of file industry_type.h.

Referenced by IndustriesChangeInfo().