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. | |
| static void | RemoveOrder (OrderType type, DestinationID destination) |
| Removes an order from all vehicles. | |
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 45 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 26 of file order_backup.cpp.
References free(), 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 110 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 233 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 248 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 77 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, InvalidateWindowClassesData(), Vehicle::list, name, Vehicle::name, orderindex, Vehicle::orders, orders, service_interval, Vehicle::service_interval, Vehicle::UpdateRealOrderIndex(), and WC_STATION_LIST.
Referenced by Restore().
| void OrderBackup::RemoveOrder | ( | OrderType | type, | |
| DestinationID | destination | |||
| ) | [static] |
Removes an order from all vehicles.
Triggers when, say, a station is removed.
| type | The type of the order (OT_GOTO_[STATION|DEPOT|WAYPOINT]). | |
| destination | The destination. Can be a StationID, DepotID or WaypointID. |
Definition at line 267 of file order_backup.cpp.
References FOR_ALL_ORDER_BACKUPS, IsHangarTile(), Order::next, orders, and tile.
Referenced by RemoveOrderFromAllVehicles().
| 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 197 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 146 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 177 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 129 of file order_backup.cpp.
References DoRestore(), FOR_ALL_ORDER_BACKUPS, tile, Vehicle::tile, and user.
Referenced by CmdBuildVehicle().
1.7.1