#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 | |
EnginePool | _engine_pool ("Engine") |
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 | |
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. |
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, MarkWholeScreenDirty(), MAX_LENGTH_ENGINE_NAME_BYTES, 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.
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 GetRailTypeInfo(), HasBit(), 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, CBM_VEHICLE_CARGO_SUFFIX, CT_INVALID, HasBit(), and EngineInfo::refit_mask.
Referenced by IsArticulatedVehicleRefittable(), and IsVehicleRefitable().
const uint8 _engine_counts[4] |
Initial value:
{ lengthof(_orig_rail_vehicle_info), lengthof(_orig_road_vehicle_info), lengthof(_orig_ship_vehicle_info), lengthof(_orig_aircraft_vehicle_info), }
Definition at line 46 of file engine.cpp.
Referenced by GetNewEngine().
const uint8 _engine_offsets[4] |
Initial value:
{ 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), }
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().