OpenTTD
|
Struct about subsidies, offered and awarded. More...
#include <subsidy_base.h>
Public Member Functions | |
Subsidy () | |
We need an (empty) constructor so struct isn't zeroed (as C++ standard states) | |
~Subsidy () | |
(Empty) destructor has to be defined else operator delete might be called with NULL parameter | |
bool | IsAwarded () const |
Tests whether this subsidy has been awarded to someone. | |
void | AwardTo (CompanyID company) |
Marks subsidy as awarded, creates news and AI event. | |
![]() | |
void * | operator new (size_t size) |
Allocates space for new Titem. | |
void * | operator new (size_t size, size_t index) |
Allocates space for new Titem with given index. | |
void * | operator new (size_t size, void *ptr) |
Allocates space for new Titem at given memory address. | |
void | operator delete (void *p) |
Marks Titem as free. |
Data Fields | |
CargoID | cargo_type |
Cargo type involved in this subsidy, CT_INVALID for invalid subsidy. | |
byte | remaining |
Remaining months when this subsidy is valid. | |
CompanyByte | awarded |
Subsidy is awarded to this company; INVALID_COMPANY if it's not awarded to anyone. | |
SourceTypeByte | src_type |
Source of subsidised path (ST_INDUSTRY or ST_TOWN) | |
SourceTypeByte | dst_type |
Destination of subsidised path (ST_INDUSTRY or ST_TOWN) | |
SourceID | src |
Index of source. Either TownID or IndustryID. | |
SourceID | dst |
Index of destination. Either TownID or IndustryID. | |
![]() | |
Tindex | index |
Index of this pool item. |
Additional Inherited Members | |
![]() | |
static bool | CanAllocateItem (size_t n=1) |
Helper functions so we can use PoolItem::Function() instead of _poolitem_pool.Function() | |
static bool | CleaningPool () |
Returns current state of pool cleaning - yes or no. | |
static bool | IsValidID (size_t index) |
Tests whether given index can be used to get valid (non-NULL) Titem. | |
static Titem * | Get (size_t index) |
Returns Titem with given index. | |
static Titem * | GetIfValid (size_t index) |
Returns Titem with given index. | |
static size_t | GetPoolSize () |
Returns first unused index. | |
static size_t | GetNumItems () |
Returns number of valid items in the pool. | |
static void | PostDestructor (size_t index) |
Dummy function called after destructor of each member. |
Struct about subsidies, offered and awarded.
Definition at line 24 of file subsidy_base.h.
void Subsidy::AwardTo | ( | CompanyID | company | ) |
Marks subsidy as awarded, creates news and AI event.
company | awarded company |
Definition at line 40 of file subsidy.cpp.
References _settings_game, AddNewsItem(), AI::BroadcastNewEvent(), GameSettings::difficulty, InjectDParam(), InvalidateWindowData(), lastof, MAX_CHAR_LENGTH, MAX_LENGTH_COMPANY_NAME_CHARS, Game::NewEvent(), NF_NORMAL, NT_SUBSIDIES, SetDParam(), SetDParamStr(), SetupSubsidyDecodeParam(), stredup(), SUBSIDY_CONTRACT_MONTHS, DifficultySettings::subsidy_multiplier, and WC_SUBSIDIES_LIST.
Referenced by CheckSubsidised().
|
inline |
Tests whether this subsidy has been awarded to someone.
Definition at line 47 of file subsidy_base.h.
References awarded, and INVALID_COMPANY.
Referenced by CheckSubsidised(), SubsidyListWindow::CountLines(), SubsidyListWindow::DrawWidget(), SubsidyListWindow::OnClick(), and SubsidyMonthlyLoop().