OpenTTD Source 20250205-master-gfd85ab1e2c
engine_base.h File Reference

Base class for engines. More...

#include "engine_type.h"
#include "vehicle_type.h"
#include "core/enum_type.hpp"
#include "core/pool_type.hpp"
#include "newgrf_commons.h"
#include "timer/timer_game_calendar.h"

Go to the source code of this file.

Data Structures

struct  WagonOverride
 
struct  Engine
 
struct  Engine::EngineTypeFilter
 
struct  EngineIDMapping
 
struct  EngineIDMappingKeyProjection
 Projection to get a unique key of an EngineIDMapping, used for sorting in EngineOverrideManager. More...
 
struct  EngineOverrideManager
 Stores the mapping of EngineID to the internal id of newgrfs. More...
 

Typedefs

using EngineDisplayFlags = EnumBitSet< EngineDisplayFlag, uint8_t >
 
typedef Pool< Engine, EngineID, 64, 64000 > EnginePool
 

Enumerations

enum class  EngineDisplayFlag : uint8_t { HasVariants , IsFolded , Shaded }
 Flags used client-side in the purchase/autorenew engine list. More...
 

Functions

const EngineInfoEngInfo (EngineID e)
 
const RailVehicleInfoRailVehInfo (EngineID e)
 
const RoadVehicleInfoRoadVehInfo (EngineID e)
 
const ShipVehicleInfoShipVehInfo (EngineID e)
 
const AircraftVehicleInfoAircraftVehInfo (EngineID e)
 

Variables

EnginePool _engine_pool
 
EngineOverrideManager _engine_mngr
 

Detailed Description

Base class for engines.

Definition in file engine_base.h.

Typedef Documentation

◆ EngineDisplayFlags

Definition at line 33 of file engine_base.h.

◆ EnginePool

typedef Pool<Engine, EngineID, 64, 64000> EnginePool

Definition at line 35 of file engine_base.h.

Enumeration Type Documentation

◆ EngineDisplayFlag

enum class EngineDisplayFlag : uint8_t
strong

Flags used client-side in the purchase/autorenew engine list.

Enumerator
HasVariants 

Set if engine has variants.

IsFolded 

Set if display of variants should be folded (hidden).

Shaded 

Set if engine should be masked.

Definition at line 27 of file engine_base.h.

Function Documentation

◆ AircraftVehInfo()

const AircraftVehicleInfo * AircraftVehInfo ( EngineID  e)
inline

Definition at line 255 of file engine_base.h.

◆ EngInfo()

const EngineInfo * EngInfo ( EngineID  e)
inline

Definition at line 235 of file engine_base.h.

◆ RailVehInfo()

const RailVehicleInfo * RailVehInfo ( EngineID  e)
inline

Definition at line 240 of file engine_base.h.

◆ RoadVehInfo()

const RoadVehicleInfo * RoadVehInfo ( EngineID  e)
inline

Definition at line 245 of file engine_base.h.

◆ ShipVehInfo()

const ShipVehicleInfo * ShipVehInfo ( EngineID  e)
inline

Definition at line 250 of file engine_base.h.

Variable Documentation

◆ _engine_mngr

EngineOverrideManager _engine_mngr
extern

Definition at line 45 of file engine.cpp.