OpenTTD Source: IndustryBuildData Struct Reference

OpenTTD Source 15.0-beta1

Public Member Functions | Data Fields
IndustryBuildData Struct Reference

Data for managing the number and type of industries in the game. More...

`#include <industry.h>`

## Public Member Functions
void | Reset ()
| Completely reset the industry build data.
void | SetupTargetCount ()
| Decide how many industries of each type are needed.
void | TryBuildNewIndustry ()
| Try to create a random industry, during gameplay.
void | EconomyMonthlyLoop ()
| Monthly update of industry build data.

## Data Fields
IndustryTypeBuildData | builddata [NUM_INDUSTRYTYPES]
| Industry build data for every industry type.
uint32_t | wanted_inds
| Number of wanted industries (bits 31-16), and a fraction (bits 15-0).

## Detailed Description

Data for managing the number and type of industries in the game.

Definition at line 293 of file industry.h.

## Member Function Documentation

## ◆ EconomyMonthlyLoop()

void IndustryBuildData::EconomyMonthlyLoop | ( |  | ) |

Monthly update of industry build data.

Definition at line 2428 of file industry_cmd.cpp.

References _settings_game, GameSettings::difficulty, GetCurrentTotalNumberOfIndustries(), ID_FUND_ONLY, DifficultySettings::industry_density, Map::ScaleBySize(), and wanted_inds.

## ◆ Reset()

void IndustryBuildData::Reset | ( |  | ) |

Completely reset the industry build data.

Definition at line 2418 of file industry_cmd.cpp.

References builddata, GetCurrentTotalNumberOfIndustries(), NUM_INDUSTRYTYPES, IndustryTypeBuildData::Reset(), and wanted_inds.

Referenced by AfterLoadGame(), and GenerateIndustries().

## ◆ SetupTargetCount()

void IndustryBuildData::SetupTargetCount | ( |  | ) |

Decide how many industries of each type are needed.

Definition at line 2554 of file industry_cmd.cpp.

References builddata, IndustryTypeBuildData::GetIndustryTypeData(), IndustryTypeBuildData::min_number, NUM_INDUSTRYTYPES, IndustryTypeBuildData::probability, RandomRange(), IndustryTypeBuildData::target_count, and wanted_inds.

Referenced by TryBuildNewIndustry().

## ◆ TryBuildNewIndustry()

void IndustryBuildData::TryBuildNewIndustry | ( |  | ) |

Try to create a random industry, during gameplay.

Definition at line 2599 of file industry_cmd.cpp.

References AdvertiseIndustryOpening(), builddata, EconomyIsInRecession(), Industry::GetIndustryTypeCount(), IACT_RANDOMCREATION, IndustryTypeBuildData::max_wait, NUM_INDUSTRYTYPES, PlaceIndustry(), RandomRange(), SetupTargetCount(), IndustryTypeBuildData::target_count, and IndustryTypeBuildData::wait_count.

## Field Documentation

## ◆ builddata

IndustryTypeBuildData IndustryBuildData::builddata[NUM_INDUSTRYTYPES]

Industry build data for every industry type.

Definition at line 294 of file industry.h.

Referenced by ITBLChunkHandler::Load(), Reset(), ITBLChunkHandler::Save(), SetupTargetCount(), and TryBuildNewIndustry().

## ◆ wanted_inds

uint32_t IndustryBuildData::wanted_inds

Number of wanted industries (bits 31-16), and a fraction (bits 15-0).

Definition at line 295 of file industry.h.

Referenced by EconomyMonthlyLoop(), Reset(), and SetupTargetCount().

The documentation for this struct was generated from the following files:

- src/industry.h
- src/industry_cmd.cpp