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_yearShall 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 ( )
inlinestatic

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
stthe 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_stationthe station where the consist is at the moment
front_vthe 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
priceIndex of price base to change.
factorAmount 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_counterspecifies 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
updatethe economy with calculated score
ccompany 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.