Base for all engine handling. More...
#include "stdafx.h"#include "company_func.h"#include "command_func.h"#include "news_func.h"#include "aircraft.h"#include "newgrf.h"#include "newgrf_engine.h"#include "group.h"#include "strings_func.h"#include "core/random_func.hpp"#include "window_func.h"#include "date_func.h"#include "autoreplace_gui.h"#include "string_func.h"#include "ai/ai.hpp"#include "core/pool_func.hpp"#include "engine_gui.h"#include "engine_func.h"#include "engine_base.h"#include "company_base.h"#include "table/strings.h"#include "table/engines.h"Go to the source code of this file.
Functions | |
| assert_compile (lengthof(_orig_rail_vehicle_info)+lengthof(_orig_road_vehicle_info)+lengthof(_orig_ship_vehicle_info)+lengthof(_orig_aircraft_vehicle_info)==lengthof(_orig_engine_info)) | |
| void | SetCachedEngineCounts () |
| Sets cached values in Company::num_vehicles and Group::num_vehicles. | |
| void | SetupEngines () |
| void | ShowEnginePreviewWindow (EngineID engine) |
| static bool | IsWagon (EngineID index) |
| static void | CalcEngineReliability (Engine *e) |
| void | SetYearEngineAgingStops () |
| void | StartupOneEngine (Engine *e, Date aging_date) |
| void | StartupEngines () |
| static void | AcceptEnginePreview (EngineID eid, CompanyID company) |
| static CompanyID | GetBestCompany (uint8 pp) |
| void | EnginesDailyLoop () |
| Functions used by the IncreaseDate function. | |
| CommandCost | CmdWantEnginePreview (TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text) |
| Accept an engine prototype. | |
| static void | NewVehicleAvailable (Engine *e) |
| void | EnginesMonthlyLoop () |
| static bool | IsUniqueEngineName (const char *name) |
| CommandCost | CmdRenameEngine (TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text) |
| Rename an engine. | |
| bool | IsEngineBuildable (EngineID engine, VehicleType type, CompanyID company) |
| Check if an engine is buildable. | |
| bool | IsEngineRefittable (EngineID engine) |
| Check if an engine is refittable. | |
Variables | |
| EnginePool | _engine_pool ("Engine") |
| EngineOverrideManager | _engine_mngr |
| static Year | _year_engine_aging_stops |
| Year that engine aging stops. | |
| 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. | |
Base for all engine handling.
Definition in file engine.cpp.
| CommandCost CmdRenameEngine | ( | TileIndex | tile, | |
| DoCommandFlag | flags, | |||
| uint32 | p1, | |||
| uint32 | p2, | |||
| const char * | text | |||
| ) |
Rename an engine.
| tile | unused | |
| flags | operation to perfom | |
| p1 | engine ID to rename | |
| p2 | unused | |
| text | the new name or an empty string when resetting to the default |
Definition at line 763 of file engine.cpp.
References CMD_ERROR, DC_EXEC, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem<&_engine_pool >::GetIfValid(), MarkWholeScreenDirty(), MAX_LENGTH_ENGINE_NAME_BYTES, Engine::name, return_cmd_error, and StrEmpty().
| CommandCost CmdWantEnginePreview | ( | TileIndex | tile, | |
| DoCommandFlag | flags, | |||
| uint32 | p1, | |||
| uint32 | p2, | |||
| const char * | text | |||
| ) |
Accept an engine prototype.
XXX - it is possible that the top-company changes while you are waiting to accept the offer? Then it becomes invalid
| tile | unused | |
| flags | operation to perfom | |
| p1 | engine-prototype offered | |
| p2 | unused | |
| text | unused |
Definition at line 652 of file engine.cpp.
References CMD_ERROR, DC_EXEC, and Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem<&_engine_pool >::GetIfValid().
| 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 798 of file engine.cpp.
References Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem<&_company_pool >::Get(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem<&_engine_pool >::GetIfValid(), GetRailTypeInfo(), HasBit(), Engine::type, and VEH_TRAIN.
Referenced by CheckAutoreplaceValidity(), CmdBuildAircraft(), CmdBuildRailVehicle(), CmdBuildRoadVeh(), CmdBuildShip(), 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 826 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, Tcache, Tzero >::PoolItem<&_engine_pool >::GetIfValid(), and HasBit().
Referenced by IsArticulatedVehicleRefittable(), and IsVehicleRefitable().
| const uint8 _engine_counts[4] |
{
lengthof(_orig_rail_vehicle_info),
lengthof(_orig_road_vehicle_info),
lengthof(_orig_ship_vehicle_info),
lengthof(_orig_aircraft_vehicle_info),
}
Number of engines of each vehicle type in original engine data.
Definition at line 46 of file engine.cpp.
Referenced by GetNewEngine().
| const uint8 _engine_offsets[4] |
{
0,
lengthof(_orig_rail_vehicle_info),
lengthof(_orig_rail_vehicle_info) + lengthof(_orig_road_vehicle_info),
lengthof(_orig_rail_vehicle_info) + lengthof(_orig_road_vehicle_info) + lengthof(_orig_ship_vehicle_info),
}
Offset of the first engine of each vehicle type in original engine data.
Definition at line 54 of file engine.cpp.
Year _year_engine_aging_stops [static] |
Year that engine aging stops.
Engines will not reduce in reliability and no more engines will be introduced
Definition at line 43 of file engine.cpp.
Referenced by EnginesDailyLoop().
1.6.1