OpenTTD
|
Functions related to engines. More...
Go to the source code of this file.
Functions | |
void | SetupEngines () |
Initialise the engine pool with the data from the original vehicles. | |
void | StartupEngines () |
Start/initialise all our engines. | |
void | CheckEngines () |
Check for engines that have an appropriate availability. | |
bool | IsEngineBuildable (EngineID engine, VehicleType type, CompanyID company) |
Check if an engine is buildable. | |
bool | IsEngineRefittable (EngineID engine) |
Check if an engine is refittable. | |
void | GetArticulatedVehicleCargoesAndRefits (EngineID engine, CargoArray *cargoes, uint32 *refits) |
Get the default cargoes and refits of an articulated vehicle. | |
void | SetYearEngineAgingStops () |
Compute the value for _year_engine_aging_stops. | |
void | StartupOneEngine (Engine *e, Date aging_date) |
Start/initialise one engine. | |
uint | GetTotalCapacityOfArticulatedParts (EngineID engine) |
Get the capacity of an engine with articulated parts. |
Variables | |
const uint8 | _engine_counts [4] |
Number of engines of each vehicle type in original engine data. | |
const uint8 | _engine_offsets [4] |
Offset of the first engine of each vehicle type in original engine data. |
Functions related to engines.
Definition in file engine_func.h.
void GetArticulatedVehicleCargoesAndRefits | ( | EngineID | engine, |
CargoArray * | cargoes, | ||
uint32 * | refits | ||
) |
Get the default cargoes and refits of an articulated vehicle.
The refits are linked to a cargo rather than an articulated part to prevent a long list of parts.
engine | Model to investigate. | |
[out] | cargoes | Total amount of units that can be transported, summed by cargo. |
[out] | refits | Whether a (possibly partial) refit for each cargo is possible. |
Definition at line 172 of file articulated_vehicles.cpp.
References EngineInfo::callback_mask, CBM_VEHICLE_ARTIC_ENGINE, CargoArray::Clear(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_engine_pool >::Get(), GetNextArticulatedPart(), GetVehicleDefaultCapacity(), HasBit(), INVALID_ENGINE, IsEngineRefittable(), Engine::IsGroundVehicle(), MAX_ARTICULATED_PARTS, and SetBit().
uint GetTotalCapacityOfArticulatedParts | ( | EngineID | engine | ) |
Get the capacity of an engine with articulated parts.
engine | The engine to get the capacity of. |
Definition at line 163 of file engine_gui.cpp.
References GetCapacityOfArticulatedParts(), and CargoArray::GetSum().
Referenced by RoadVehEngineCapacitySorter(), and TrainEngineCapacitySorter().
bool IsEngineBuildable | ( | EngineID | engine, |
VehicleType | type, | ||
CompanyID | company | ||
) |
Check if an engine is buildable.
engine | index of the engine to check. |
type | the type the engine should be. |
company | index of the company. |
Definition at line 1084 of file engine.cpp.
References CompanyProperties::avail_railtypes, Engine::company_avail, ENGINE_AVAILABLE, Engine::flags, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_company_pool >::Get(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_engine_pool >::GetIfValid(), GetRailTypeInfo(), HasBit(), Engine::IsEnabled(), OWNER_DEITY, Engine::type, and VEH_TRAIN.
Referenced by CheckAutoreplaceValidity(), CmdBuildVehicle(), and GetNewEngineType().
bool IsEngineRefittable | ( | EngineID | engine | ) |
Check if an engine is refittable.
Note: Likely you want to use IsArticulatedVehicleRefittable().
engine | index of the engine to check. |
Definition at line 1120 of file engine.cpp.
References EngineInfo::callback_mask, Engine::CanCarryCargo(), CBM_VEHICLE_CARGO_SUFFIX, CT_INVALID, Engine::GetDefaultCargoType(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_engine_pool >::GetIfValid(), and HasBit().
Referenced by GetArticulatedVehicleCargoesAndRefits(), IsArticulatedVehicleRefittable(), IsVehicleRefitable(), and OrdersWindow::UpdateAutoRefitState().
void SetYearEngineAgingStops | ( | ) |
Compute the value for _year_engine_aging_stops.
Definition at line 625 of file engine.cpp.
References _settings_game, _year_engine_aging_stops, EngineInfo::base_intro, EngineInfo::climates, ConvertDateToYMD(), DAYS_IN_LEAP_YEAR, GameSettings::game_creation, HasBit(), GameCreationSettings::landscape, EngineInfo::lifelength, max(), RAILVEH_WAGON, Engine::type, VEH_TRAIN, and YearMonthDay::year.
Referenced by AfterLoadGRFs().
void StartupEngines | ( | ) |
Start/initialise all our engines.
Must be called whenever there are changes to the NewGRF config.
Definition at line 696 of file engine.cpp.
References _date, _introduced_railtypes, _year_engine_aging_stops, CompanyProperties::avail_railtypes, Company::avail_roadtypes, CheckRailIntroduction(), ConvertYMDToDate(), GetCompanyRailtypes(), GetCompanyRoadtypes(), GetRailTypeInfo(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::index, RailtypeInfo::introduction_date, InvalidateWindowClassesData(), IsInsideMM(), RailtypeInfo::label, MAX_DAY, min(), RAILTYPE_BEGIN, RAILTYPE_END, SetBit(), StartupOneEngine(), and WC_BUILD_VEHICLE.
Referenced by _GenerateWorld(), AfterLoadGame(), DEF_CONSOLE_CMD(), SaveLoadWindow::OnTimeout(), and ReloadNewGRFData().
Start/initialise one engine.
e | The engine to initialise. |
aging_date | The date used for age calculations. |
Definition at line 651 of file engine.cpp.
References _date, _settings_game, EngineInfo::base_intro, EngineInfo::base_life, CalcEngineReliability(), EngineInfo::climates, Engine::company_avail, Engine::company_hidden, ConvertYMDToDate(), Engine::duration_phase_1, Engine::duration_phase_2, Engine::duration_phase_3, ENGINE_AVAILABLE, Engine::flags, GameSettings::game_creation, GB(), HasBit(), Engine::intro_date, GameCreationSettings::landscape, Engine::reliability_final, Engine::reliability_max, Engine::reliability_spd_dec, Engine::reliability_start, and GameCreationSettings::starting_year.
Referenced by FixTTOEngines(), and StartupEngines().