#include "stdafx.h"
#include "openttd.h"
#include "debug.h"
#include "engine.h"
#include "player_base.h"
#include "player_func.h"
#include "command_func.h"
#include "news.h"
#include "saveload.h"
#include "variables.h"
#include "train.h"
#include "aircraft.h"
#include "newgrf_cargo.h"
#include "group.h"
#include "strings_func.h"
#include "gfx_func.h"
#include "functions.h"
#include "window_func.h"
#include "date_func.h"
#include "autoreplace_base.h"
#include "autoreplace_gui.h"
#include "string_func.h"
#include "settings_type.h"
#include "table/strings.h"
#include "table/engines.h"
Go to the source code of this file.
Enumerations | |
enum | { YEAR_ENGINE_AGING_STOPS = 2050 } |
Functions | |
void | SetupEngines () |
void | ShowEnginePreviewWindow (EngineID engine) |
void | DeleteCustomEngineNames () |
void | LoadCustomEngineNames () |
static void | CalcEngineReliability (Engine *e) |
void | StartupEngines () |
static void | AcceptEnginePreview (EngineID eid, PlayerID player) |
static PlayerID | GetBestPlayer (uint8 pp) |
void | EnginesDailyLoop () |
CommandCost | CmdWantEnginePreview (TileIndex tile, uint32 flags, uint32 p1, uint32 p2) |
Accept an engine prototype. | |
static bool | IsWagon (EngineID index) |
static void | NewVehicleAvailable (Engine *e) |
void | EnginesMonthlyLoop () |
static bool | IsUniqueEngineName (const char *name) |
CommandCost | CmdRenameEngine (TileIndex tile, uint32 flags, uint32 p1, uint32 p2) |
Rename an engine. | |
bool | IsEngineBuildable (EngineID engine, VehicleType type, PlayerID player) |
Check if an engine is buildable. | |
CargoID | GetEngineCargoType (EngineID engine) |
Get the default cargo type for a certain engine type. | |
static EngineRenew * | GetEngineReplacement (EngineRenewList erl, EngineID engine, GroupID group) |
Retrieves the EngineRenew that specifies the replacement of the given engine type from the given renewlist. | |
void | RemoveAllEngineReplacement (EngineRenewList *erl) |
Remove all engine replacement settings for the player. | |
EngineID | EngineReplacement (EngineRenewList erl, EngineID engine, GroupID group) |
Retrieve the engine replacement in a given renewlist for an original engine type. | |
CommandCost | AddEngineReplacement (EngineRenewList *erl, EngineID old_engine, EngineID new_engine, GroupID group, uint32 flags) |
Add an engine replacement to the given renewlist. | |
CommandCost | RemoveEngineReplacement (EngineRenewList *erl, EngineID engine, GroupID group, uint32 flags) |
Remove an engine replacement from a given renewlist. | |
static void | Save_ERNW () |
static void | Load_ERNW () |
static void | Save_ENGN () |
static void | Load_ENGN () |
static void | Load_ENGS () |
void | InitializeEngines () |
Variables | |
Engine | _engines [TOTAL_NUM_ENGINES] |
EngineInfo | _engine_info [TOTAL_NUM_ENGINES] |
RailVehicleInfo | _rail_vehicle_info [NUM_TRAIN_ENGINES] |
ShipVehicleInfo | _ship_vehicle_info [NUM_SHIP_ENGINES] |
AircraftVehicleInfo | _aircraft_vehicle_info [NUM_AIRCRAFT_ENGINES] |
RoadVehicleInfo | _road_vehicle_info [NUM_ROAD_ENGINES] |
static const SaveLoad | _engine_renew_desc [] |
static const SaveLoad | _engine_desc [] |
const ChunkHandler | _engine_chunk_handlers [] |
Definition in file engine.cpp.
CommandCost AddEngineReplacement | ( | EngineRenewList * | erl, | |
EngineID | old_engine, | |||
EngineID | new_engine, | |||
GroupID | group, | |||
uint32 | flags | |||
) |
Add an engine replacement to the given renewlist.
erl | The renewlist to add to. | |
old_engine | The original engine type. | |
new_engine | The replacement engine type. | |
flags | The calling command flags. |
Definition at line 514 of file engine.cpp.
References PoolItem< T, Tid, Tpool >::CanAllocateItem(), CMD_ERROR, DC_EXEC, GetEngineReplacement(), EngineRenew::group_id, EngineRenew::next, and EngineRenew::to.
Referenced by AddEngineReplacementForPlayer().
CommandCost CmdRenameEngine | ( | TileIndex | tile, | |
uint32 | flags, | |||
uint32 | p1, | |||
uint32 | p2 | |||
) |
Rename an engine.
tile | unused | |
flags | operation to perfom | |
p1 | engine ID to rename | |
p2 | unused |
Definition at line 395 of file engine.cpp.
References _cmd_text, CMD_ERROR, DC_EXEC, MarkWholeScreenDirty(), and return_cmd_error.
CommandCost CmdWantEnginePreview | ( | TileIndex | tile, | |
uint32 | flags, | |||
uint32 | p1, | |||
uint32 | p2 | |||
) |
Accept an engine prototype.
XXX - it is possible that the top-player 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 |
Definition at line 276 of file engine.cpp.
EngineID EngineReplacement | ( | EngineRenewList | erl, | |
EngineID | engine, | |||
GroupID | group | |||
) |
Retrieve the engine replacement in a given renewlist for an original engine type.
erl | The renewlist to search in. | |
engine | Engine type to be replaced. |
Definition at line 504 of file engine.cpp.
References DEFAULT_GROUP, GetEngineReplacement(), and EngineRenew::to.
Referenced by EngineReplacementForPlayer().
CargoID GetEngineCargoType | ( | EngineID | engine | ) |
Get the default cargo type for a certain engine type.
engine | The ID to get the cargo for |
Definition at line 446 of file engine.cpp.
Referenced by CmdCloneVehicle().
bool IsEngineBuildable | ( | EngineID | engine, | |
VehicleType | type, | |||
PlayerID | player | |||
) |
Check if an engine is buildable.
engine | index of the engine to check. | |
type | the type the engine should be. | |
player | index of the player. |
Definition at line 420 of file engine.cpp.
References HasBit().
Referenced by CmdBuildAircraft(), CmdBuildRailVehicle(), CmdBuildRoadVeh(), CmdBuildShip(), and GenerateReplaceVehList().
void RemoveAllEngineReplacement | ( | EngineRenewList * | erl | ) |
Remove all engine replacement settings for the player.
erl | The renewlist for a given player. |
Definition at line 491 of file engine.cpp.
References EngineRenew::next.
Referenced by RemoveAllEngineReplacementForPlayer().
CommandCost RemoveEngineReplacement | ( | EngineRenewList * | erl, | |
EngineID | engine, | |||
GroupID | group, | |||
uint32 | flags | |||
) |
Remove an engine replacement from a given renewlist.
erl | The renewlist from which to remove the replacement | |
engine | The original engine type. | |
flags | The calling command flags. |
Definition at line 539 of file engine.cpp.
References CMD_ERROR, DC_EXEC, EngineRenew::from, EngineRenew::group_id, and EngineRenew::next.
Referenced by RemoveEngineReplacementForPlayer().
const ChunkHandler _engine_chunk_handlers[] |
Initial value:
{ { 'ENGN', Save_ENGN, Load_ENGN, CH_ARRAY }, { 'ENGS', NULL, Load_ENGS, CH_RIFF }, { 'ERNW', Save_ERNW, Load_ERNW, CH_ARRAY | CH_LAST}, }
const SaveLoad _engine_desc[] [static] |
Initial value:
{ SLE_CONDVAR(Engine, intro_date, SLE_FILE_U16 | SLE_VAR_I32, 0, 30), SLE_CONDVAR(Engine, intro_date, SLE_INT32, 31, SL_MAX_VERSION), SLE_CONDVAR(Engine, age, SLE_FILE_U16 | SLE_VAR_I32, 0, 30), SLE_CONDVAR(Engine, age, SLE_INT32, 31, SL_MAX_VERSION), SLE_VAR(Engine, reliability, SLE_UINT16), SLE_VAR(Engine, reliability_spd_dec, SLE_UINT16), SLE_VAR(Engine, reliability_start, SLE_UINT16), SLE_VAR(Engine, reliability_max, SLE_UINT16), SLE_VAR(Engine, reliability_final, SLE_UINT16), SLE_VAR(Engine, duration_phase_1, SLE_UINT16), SLE_VAR(Engine, duration_phase_2, SLE_UINT16), SLE_VAR(Engine, duration_phase_3, SLE_UINT16), SLE_VAR(Engine, lifelength, SLE_UINT8), SLE_VAR(Engine, flags, SLE_UINT8), SLE_VAR(Engine, preview_player_rank, SLE_UINT8), SLE_VAR(Engine, preview_wait, SLE_UINT8), SLE_CONDNULL(1, 0, 44), SLE_VAR(Engine, player_avail, SLE_UINT8), SLE_CONDSTR(Engine, name, SLE_STR, 0, 84, SL_MAX_VERSION), SLE_CONDNULL(16, 2, SL_MAX_VERSION), }
Definition at line 602 of file engine.cpp.
const SaveLoad _engine_renew_desc[] [static] |
Initial value:
{ SLE_VAR(EngineRenew, from, SLE_UINT16), SLE_VAR(EngineRenew, to, SLE_UINT16), SLE_REF(EngineRenew, next, REF_ENGINE_RENEWS), SLE_CONDVAR(EngineRenew, group_id, SLE_UINT16, 60, SL_MAX_VERSION), }
Definition at line 566 of file engine.cpp.