OpenTTD Source 20250428-master-ga5578166bb
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

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

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 3079 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

◆ 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().