OpenTTD Source  1.11.0-beta2
economy_func.h File Reference
#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, Owner exclusivity=INVALID_OWNER)
 
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.
 
int64 _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 708 of file economy.cpp.

References ORIGINAL_MAX_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 47 of file economy_func.h.

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 1916 of file economy.cpp.

References _cargo_delivery_destinations, Vehicle::load_unload_ticks, LoadUnloadVehicle(), TriggerIndustryProduction(), Vehicle::vehstatus, VS_CRASHED, and VS_STOPPED.

◆ PrepareUnload()

◆ 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 883 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 893 of file economy.cpp.

References 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 149 of file economy.cpp.

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