OpenTTD

Functions | Variables
economy_func.h File Reference

Functions related to the economy. More...

`#include "economy_type.h"`
`#include "station_type.h"`
`#include "cargo_type.h"`
`#include "vehicle_type.h"`
`#include "company_type.h"`

Go to the source code of this file.

## Functions
void | ResetPriceBaseMultipliers ()
| Reset changes to the price base multipliers.
void | SetPriceBaseMultiplier (Price price, int factor)
| Change a price base by the given factor. More...
int | UpdateCompanyRatingAndValue (Company *c, bool update)
| if update is set to true, the economy is updated with this score (also the house is updated, should only be true in the on-tick event) More...
void | StartupIndustryDailyChanges (bool init_counter)
| Initialize the variables that will maintain the daily industry change system. More...
Money | GetTransportedGoodsIncome (uint num_pieces, uint dist, byte transit_days, CargoID cargo_type)
uint | MoveGoodsToStation (CargoID type, uint amount, SourceType source_type, SourceID source_id, const StationList *all_stations)
void | PrepareUnload (Vehicle *front_v)
| Prepare the vehicle to be unloaded. More...
void | LoadUnloadStation (Station *st)
| Load/unload the vehicles in this station according to the order they entered. More...
Money | GetPrice (Price index, uint cost_factor, const struct GRFFile *grf_file, int shift=0)
void | InitializeEconomy ()
| Resets economy to initial values.
void | RecomputePrices ()
| Computes all prices, payments and maximum loan.
bool | AddInflation (bool check_year=true)
| Add monthly inflation. More...
static bool | EconomyIsInRecession ()
| Is the economy in recession? More...

## Variables
const ScoreInfo | _score_info []
| Score info, values used for computing the detailed performance rating.
int | _score_part [MAX_COMPANIES][SCORE_END]
Economy | _economy
Prices | _price

## Detailed Description

Functions related to the economy.

Definition in file economy_func.h.

## Function Documentation

## ◆ AddInflation()

bool AddInflation | ( | bool | check_year | ) |

Add monthly inflation.

Parameters

  check_year | Shall the inflation get stopped after 170 years?

Returns
  true if inflation is maxed and nothing was changed

Definition at line 722 of file economy.cpp.

References _cur_year, _settings_game, GameSettings::game_creation, Economy::infl_amount, Economy::infl_amount_pr, Economy::inflation_payment, Economy::inflation_prices, MAX_INFLATION, ORIGINAL_BASE_YEAR, ORIGINAL_MAX_YEAR, and GameCreationSettings::starting_year.

Referenced by CompaniesMonthlyLoop().

## ◆ EconomyIsInRecession()

static bool EconomyIsInRecession | ( |  | ) |
| inline static

Is the economy in recession?

Returns
  `True` if economy is in recession, `false` otherwise.

Definition at line 49 of file economy_func.h.

References Economy::fluct.

Referenced by TransportIndustryGoods(), and IndustryBuildData::TryBuildNewIndustry().

## ◆ LoadUnloadStation()

void LoadUnloadStation | ( | Station * | st | ) |

Load/unload the vehicles in this station according to the order they entered.

Parameters

  st | the station to do the loading/unloading for

Definition at line 1899 of file economy.cpp.

References Vehicle::vehstatus, VS_CRASHED, and VS_STOPPED.

## ◆ PrepareUnload()

void PrepareUnload | ( | Vehicle * | front_v | ) |

Prepare the vehicle to be unloaded.

Parameters

  curr_station | the station where the consist is at the moment
  front_v | the vehicle to be unloaded

Definition at line 1247 of file economy.cpp.

References ClrBit(), SpecializedStation< Station, false >::Get(), Vehicle::last_station_visited, Vehicle::load_unload_ticks, BaseConsist::vehicle_flags, and VF_LOADING_FINISHED.

## ◆ SetPriceBaseMultiplier()

void SetPriceBaseMultiplier | ( | Price | price,
|  | int | factor
| ) |  |

Change a price base by the given factor.

The price base is altered by factors of two. NewBaseCost = OldBaseCost * 2^n

Parameters

  price | Index of price base to change.
  factor | Amount to change by.

Definition at line 899 of file economy.cpp.

## ◆ StartupIndustryDailyChanges()

void StartupIndustryDailyChanges | ( | bool | init_counter | ) |

Initialize the variables that will maintain the daily industry change system.

Parameters

  init_counter | specifies if the counter is required to be initialized

Definition at line 909 of file economy.cpp.

References Economy::industry_daily_change_counter, Economy::industry_daily_increment, MapLogX(), and MapLogY().

## ◆ UpdateCompanyRatingAndValue()

int UpdateCompanyRatingAndValue | ( | Company * | c,
|  | bool | update
| ) |  |

if update is set to true, the economy is updated with this score (also the house is updated, should only be true in the on-tick event)

Parameters

  update | the economy with calculated score
  c | company been evaluated

Returns
  actual score of this company

Definition at line 153 of file economy.cpp.

References Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::index.