Handling of subsidies. More...
#include "stdafx.h"#include "company_func.h"#include "industry.h"#include "town.h"#include "news_func.h"#include "ai/ai.hpp"#include "station_base.h"#include "cargotype.h"#include "strings_func.h"#include "window_func.h"#include "subsidy_base.h"#include "subsidy_func.h"#include "core/pool_func.hpp"#include "core/random_func.hpp"#include "table/strings.h"Go to the source code of this file.
Functions | |
| void | InitializeSubsidies () |
| Initializes subsidies, files don't have to include subsidy_base,h this way. | |
| Pair | SetupSubsidyDecodeParam (const Subsidy *s, bool mode) |
| static void | SetPartOfSubsidyFlag (SourceType type, SourceID index, PartOfSubsidy flag) |
| Sets a flag indicating that given town/industry is part of subsidised route. | |
| void | RebuildSubsidisedSourceAndDestinationCache () |
| void | DeleteSubsidyWith (SourceType type, SourceID index) |
| static bool | CheckSubsidyDuplicate (CargoID cargo, SourceType src_type, SourceID src, SourceType dst_type, SourceID dst) |
| static Subsidy * | FindSubsidyPassengerRoute () |
| static Subsidy * | FindSubsidyCargoRoute () |
| void | SubsidyMonthlyLoop () |
| bool | CheckSubsidised (CargoID cargo_type, CompanyID company, SourceType src_type, SourceID src, const Station *st) |
| Tests whether given delivery is subsidised and possibly awards the subsidy to delivering company. | |
Variables | |
| SubsidyPool | _subsidy_pool ("Subsidy") |
Handling of subsidies.
Definition in file subsidy.cpp.
| bool CheckSubsidised | ( | CargoID | cargo_type, | |
| CompanyID | company, | |||
| SourceType | src_type, | |||
| SourceID | src, | |||
| const Station * | st | |||
| ) |
Tests whether given delivery is subsidised and possibly awards the subsidy to delivering company.
| cargo_type | type of cargo | |
| company | company delivering the cargo | |
| src_type | type of src | |
| src | index of source | |
| st | station where the cargo is delivered to |
Definition at line 330 of file subsidy.cpp.
References Subsidy::awarded, Subsidy::AwardTo(), SmallVector< T, S >::Begin(), Subsidy::cargo_type, Subsidy::dst, Subsidy::dst_type, SmallVector< T, S >::End(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem<&_town_pool >::Get(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem<&_industry_pool >::Get(), Station::GetCatchmentRect(), SmallVector< T, S >::Include(), Station::industries_near, INVALID_SOURCE, Subsidy::IsAwarded(), IsTileType(), MP_HOUSE, Town::part_of_subsidy, POS_DST, POS_SRC, BaseStation::rect, Subsidy::src, Subsidy::src_type, ST_INDUSTRY, ST_TOWN, and TileXY().
Referenced by DeliverGoods().
| static void SetPartOfSubsidyFlag | ( | SourceType | type, | |
| SourceID | index, | |||
| PartOfSubsidy | flag | |||
| ) | [inline, static] |
Sets a flag indicating that given town/industry is part of subsidised route.
| type | is it a town or an industry? | |
| index | index of town/industry | |
| flag | flag to set |
Definition at line 118 of file subsidy.cpp.
References Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem<&_town_pool >::Get(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem<&_industry_pool >::Get(), ST_INDUSTRY, and ST_TOWN.
1.6.1