OpenTTD Source: src/subsidy_func.h File Reference

OpenTTD Source 12.0-beta1

Functions
subsidy_func.h File Reference
`#include "core/geometry_type.hpp"`
`#include "station_type.h"`
`#include "company_type.h"`
`#include "cargo_type.h"`
`#include "news_type.h"`
`#include "subsidy_base.h"`

Go to the source code of this file.

## Functions
std::pair< NewsReferenceType, NewsReferenceType > | SetupSubsidyDecodeParam (const struct Subsidy *s, SubsidyDecodeParamType mode, uint parameter_offset=0)
void | DeleteSubsidyWith (SourceType type, SourceID index)
| Delete the subsidies associated with a given cargo source type and id. More...
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. More...
void | RebuildSubsidisedSourceAndDestinationCache ()
| Perform a full rebuild of the subsidies cache.

## Detailed Description

Functions related to subsidies.

Definition in file subsidy_func.h.

## Function Documentation

## ◆ CheckSubsidised()

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.

Parameters

  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

Returns
  is the delivery subsidised?

Definition at line 574 of file subsidy.cpp.

References Town::cache, Station::catchment_tiles, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_industry_pool >::Get(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_town_pool >::Get(), include(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::index, Station::industries_near, INVALID_SOURCE, INVALID_TILE, IsTileType(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_subsidy_pool >::Iterate(), MP_HOUSE, TownCache::part_of_subsidy, Industry::part_of_subsidy, POS_DST, POS_SRC, BaseStation::rect, ST_INDUSTRY, and ST_TOWN.

## ◆ DeleteSubsidyWith()

void DeleteSubsidyWith | ( | SourceType | type,
|  | SourceID | index
| ) |  |

Delete the subsidies associated with a given cargo source type and id.

Parameters

  type | Cargo source type of the id.
  index | Id to remove.

Definition at line 152 of file subsidy.cpp.

References InvalidateWindowData(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_subsidy_pool >::Iterate(), RebuildSubsidisedSourceAndDestinationCache(), and WC_SUBSIDIES_LIST.

Referenced by Town::~Town().