|
OpenTTD
|
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. | |
Public Member Functions inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_order_backup_pool > | |
| void * | operator new (size_t size) |
| Allocates space for new Titem. | |
| void * | operator new (size_t size, size_t index) |
| Allocates space for new Titem with given index. | |
| void * | operator new (size_t size, void *ptr) |
| Allocates space for new Titem at given memory address. | |
| void | operator delete (void *p) |
| Marks Titem as free. | |
Public Member Functions inherited from BaseConsist | |
| void | CopyConsistPropertiesFrom (const BaseConsist *src) |
| Copy properties of other BaseConsist. | |
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. | |
Static Public Member Functions inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_order_backup_pool > | |
| static bool | CanAllocateItem (size_t n=1) |
| Helper functions so we can use PoolItem::Function() instead of _poolitem_pool.Function() | |
| static bool | CleaningPool () |
| Returns current state of pool cleaning - yes or no. | |
| static bool | IsValidID (size_t index) |
| Tests whether given index can be used to get valid (non-NULL) Titem. | |
| static Titem * | Get (size_t index) |
| Returns Titem with given index. | |
| static Titem * | GetIfValid (size_t index) |
| Returns Titem with given index. | |
| static size_t | GetPoolSize () |
| Returns first unused index. | |
| static size_t | GetNumItems () |
| Returns number of valid items in the pool. | |
| static void | PostDestructor (size_t index) |
| Dummy function called after destructor of each member. | |
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. | |
| const Vehicle * | clone |
| Vehicle this vehicle was a clone of. | |
| 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. | |
Additional Inherited Members | |
Data Fields inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_order_backup_pool > | |
| Tindex | index |
| Index of this pool item. | |
Data Fields inherited from BaseConsist | |
| char * | name |
| Name of vehicle. | |
| uint32 | current_order_time |
| How many ticks have passed since this order started. | |
| int32 | lateness_counter |
| How many ticks late (or early if negative) this vehicle is. | |
| Date | timetable_start |
| When the vehicle is supposed to start the timetable. | |
| uint16 | service_interval |
| The interval for (automatic) servicing; either in days or %. | |
| VehicleOrderID | cur_real_order_index |
| The index to the current real (non-implicit) order. | |
| VehicleOrderID | cur_implicit_order_index |
| The index to the current implicit order. | |
| uint16 | vehicle_flags |
| Used for gradual loading and other miscellaneous things (. | |
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 37 of file order_backup.h.
|
inlineprivate |
Creation for savegame restoration.
Definition at line 49 of file order_backup.h.
Referenced by Backup().
|
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, BaseConsist::CopyConsistPropertiesFrom(), Vehicle::FirstShared(), group, Vehicle::group_id, Vehicle::IsOrderListShared(), Order::next, Vehicle::NextShared(), orders, tile, Vehicle::tile, and user.
| OrderBackup::~OrderBackup | ( | ) |
Free everything that is allocated.
Definition at line 28 of file order_backup.cpp.
References Order::next.
|
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 103 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().
|
static |
Clear the group of all backups having this group ID.
| group | The group to clear. |
Definition at line 226 of file order_backup.cpp.
References DEFAULT_GROUP, FOR_ALL_ORDER_BACKUPS, and group.
Referenced by CmdDeleteGroup().
|
static |
Clear/update the (clone) vehicle from an order backup.
| v | The vehicle to clear. |
Definition at line 241 of file order_backup.cpp.
References clone, Vehicle::FirstShared(), FOR_ALL_ORDER_BACKUPS, and Vehicle::NextShared().
Referenced by Vehicle::PreDestructor().
|
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, BaseConsist::CopyConsistPropertiesFrom(), BaseConsist::cur_implicit_order_index, BaseConsist::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, orders, Vehicle::orders, Vehicle::UpdateRealOrderIndex(), and WC_STATION_LIST.
Referenced by Restore().
|
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 260 of file order_backup.cpp.
References FOR_ALL_ORDER_BACKUPS, IsHangarTile(), Order::next, ODATFB_NEAREST_DEPOT, orders, and tile.
Referenced by RemoveOrderFromAllVehicles().
|
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 190 of file order_backup.cpp.
References _network_own_client_id, _network_server, _networking, CLIENT_ID_SERVER, CMD_CLEAR_ORDER_BACKUP, DoCommandPInternal(), FOR_ALL_ORDER_BACKUPS, INVALID_TILE, tile, and user.
Referenced by RemoveAirport(), and Depot::~Depot().
|
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 139 of file order_backup.cpp.
References FOR_ALL_ORDER_BACKUPS, INVALID_TILE, tile, and user.
Referenced by CmdClearOrderBackup().
|
static |
Reset an user's OrderBackup if needed.
| user | The user associated with the OrderBackup. |
Definition at line 170 of file order_backup.cpp.
References _network_server, CMD_CLEAR_ORDER_BACKUP, DoCommandP(), FOR_ALL_ORDER_BACKUPS, and user.
Referenced by ServerNetworkGameSocketHandler::~ServerNetworkGameSocketHandler().
|
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 122 of file order_backup.cpp.
References DoRestore(), FOR_ALL_ORDER_BACKUPS, tile, Vehicle::tile, and user.
Referenced by CmdBuildVehicle().
1.8.1.2