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.
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)
void StartupIndustryDailyChanges (bool init_counter)
 Initialize the variables that will maintain the daily industry change system.
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.
void LoadUnloadStation (Station *st)
 Load/unload the vehicles in this station according to the order they entered.
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.
static bool EconomyIsInRecession ()
 Is the economy in recession?

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

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 723 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 AfterLoadGame(), and CompaniesMonthlyLoop().

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 TileLoop_Town(), and IndustryBuildData::TryBuildNewIndustry().

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

References SmallVector< T, S >::Begin(), SmallVector< T, S >::Clear(), SmallVector< T, S >::End(), Vehicle::load_unload_ticks, LoadUnloadVehicle(), TriggerIndustryProduction(), Vehicle::vehstatus, VS_CRASHED, and VS_STOPPED.

void PrepareUnload ( Vehicle front_v)
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 900 of file economy.cpp.

References Clamp(), and MIN_PRICE_MODIFIER.

Referenced by FinalisePriceBaseMultipliers().

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

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

Referenced by Load_ECMY().

int UpdateCompanyRatingAndValue ( Company c,
bool  update 
)