Data for backing up an order of a vehicle so it can be restored after a vehicle is rebuilt in the same depot. More...
#include <order_backup.h>
Public Member Functions | |
~OrderBackup () | |
Free everything that is allocated. | |
Static Public Member Functions | |
static void | Backup (const Vehicle *v, uint32 user) |
Create an order backup for the given vehicle. | |
static void | Restore (Vehicle *v, uint32 user) |
Restore the data of this order to the given vehicle. | |
static void | ResetOfUser (TileIndex tile, uint32 user) |
Reset an OrderBackup given a tile and user. | |
static void | ResetUser (uint32 user) |
Reset an user's OrderBackup if needed. | |
static void | Reset (TileIndex tile=INVALID_TILE, bool from_gui=true) |
Reset the OrderBackups from GUI/game logic. | |
static void | ClearGroup (GroupID group) |
Clear the group of all backups having this group ID. | |
static void | ClearVehicle (const Vehicle *v) |
Clear/update the (clone) vehicle from an order backup. | |
Private Member Functions | |
OrderBackup () | |
Creation for savegame restoration. | |
OrderBackup (const Vehicle *v, uint32 user) | |
Create an order backup for the given vehicle. | |
void | DoRestore (Vehicle *v) |
Restore the data of this order to the given vehicle. | |
Private Attributes | |
uint32 | user |
The user that requested the backup. | |
TileIndex | tile |
Tile of the depot where the order was changed. | |
GroupID | group |
The group the vehicle was part of. | |
Date | service_interval |
The service interval of the vehicle. | |
char * | name |
The custom name of the vehicle. | |
const Vehicle * | clone |
Vehicle this vehicle was a clone of. | |
VehicleOrderID | orderindex |
The order-index the vehicle had. | |
Order * | orders |
The actual orders if the vehicle was not a clone. | |
Friends | |
struct SaveLoad * | GetOrderBackupDescription () |
Saving and loading of order backups. | |
void | Load_BKOR () |
Creating empty orders upon savegame loading. |
Data for backing up an order of a vehicle so it can be restored after a vehicle is rebuilt in the same depot.
Definition at line 38 of file order_backup.h.
OrderBackup::OrderBackup | ( | ) | [inline, private] |
Creation for savegame restoration.
Definition at line 53 of file order_backup.h.
Referenced by Backup().
OrderBackup::OrderBackup | ( | const Vehicle * | v, | |
uint32 | user | |||
) | [private] |
Create an order backup for the given vehicle.
v | The vehicle to make a backup of. | |
user | The user that is requesting the backup. |
Definition at line 43 of file order_backup.cpp.
References Order::AssignOrder(), clone, Vehicle::cur_implicit_order_index, Vehicle::FirstShared(), group, Vehicle::group_id, Vehicle::IsOrderListShared(), name, Vehicle::name, Order::next, Vehicle::NextShared(), orderindex, orders, Vehicle::service_interval, service_interval, Vehicle::tile, and tile.
OrderBackup::~OrderBackup | ( | ) |
Free everything that is allocated.
Definition at line 24 of file order_backup.cpp.
References ObjectSpec::name, and Order::next.
void OrderBackup::Backup | ( | const Vehicle * | v, | |
uint32 | user | |||
) | [static] |
Create an order backup for the given vehicle.
v | The vehicle to make a backup of. | |
user | The user that is requesting the backup. |
Definition at line 106 of file order_backup.cpp.
References Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_order_backup_pool >::CanAllocateItem(), FOR_ALL_ORDER_BACKUPS, OrderBackup(), and user.
Referenced by CmdSellRailWagon(), and CmdSellVehicle().
void OrderBackup::ClearGroup | ( | GroupID | group | ) | [static] |
Clear the group of all backups having this group ID.
group | The group to clear. |
Definition at line 229 of file order_backup.cpp.
References DEFAULT_GROUP, FOR_ALL_ORDER_BACKUPS, and group.
Referenced by CmdDeleteGroup().
void OrderBackup::ClearVehicle | ( | const Vehicle * | v | ) | [static] |
Clear/update the (clone) vehicle from an order backup.
v | The vehicle to clear. |
Definition at line 244 of file order_backup.cpp.
References clone, Vehicle::FirstShared(), FOR_ALL_ORDER_BACKUPS, and Vehicle::NextShared().
Referenced by Vehicle::PreDestructor().
void OrderBackup::DoRestore | ( | Vehicle * | v | ) | [private] |
Restore the data of this order to the given vehicle.
v | The vehicle to restore to. |
Definition at line 75 of file order_backup.cpp.
References Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_orderlist_pool >::CanAllocateItem(), clone, CMD_ADD_VEHICLE_GROUP, CMD_CLONE_ORDER, Vehicle::cur_implicit_order_index, Vehicle::cur_real_order_index, DC_EXEC, DoCommand(), Vehicle::GetNumOrders(), group, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::index, Vehicle::list, name, Vehicle::name, orderindex, Vehicle::orders, orders, service_interval, Vehicle::service_interval, and Vehicle::UpdateRealOrderIndex().
Referenced by Restore().
void OrderBackup::Reset | ( | TileIndex | t = INVALID_TILE , |
|
bool | from_gui = true | |||
) | [static] |
Reset the OrderBackups from GUI/game logic.
t | The tile of the order backup. | |
from_gui | Whether the call came from the GUI, i.e. whether it must be synced over the network. |
Definition at line 193 of file order_backup.cpp.
References _network_own_client_id, _network_server, _networking, CMD_CLEAR_ORDER_BACKUP, DoCommandPInternal(), FOR_ALL_ORDER_BACKUPS, INVALID_TILE, tile, and user.
Referenced by RemoveAirport(), and Depot::~Depot().
void OrderBackup::ResetOfUser | ( | TileIndex | tile, | |
uint32 | user | |||
) | [static] |
Reset an OrderBackup given a tile and user.
tile | The tile associated with the OrderBackup. | |
user | The user associated with the OrderBackup. |
Definition at line 142 of file order_backup.cpp.
References FOR_ALL_ORDER_BACKUPS, INVALID_TILE, tile, and user.
Referenced by CmdClearOrderBackup().
void OrderBackup::ResetUser | ( | uint32 | user | ) | [static] |
Reset an user's OrderBackup if needed.
user | The user associated with the OrderBackup. |
Definition at line 173 of file order_backup.cpp.
References _network_server, CMD_CLEAR_ORDER_BACKUP, DoCommandP(), FOR_ALL_ORDER_BACKUPS, and user.
Referenced by ServerNetworkGameSocketHandler::~ServerNetworkGameSocketHandler().
void OrderBackup::Restore | ( | Vehicle * | v, | |
uint32 | user | |||
) | [static] |
Restore the data of this order to the given vehicle.
v | The vehicle to restore to. | |
user | The user that built the vehicle, thus wants to restore. |
Definition at line 125 of file order_backup.cpp.
References DoRestore(), FOR_ALL_ORDER_BACKUPS, tile, Vehicle::tile, and user.
Referenced by CmdBuildVehicle().