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. More... | |
![]() | |
void * | operator new (size_t size) |
Allocates space for new Titem. More... | |
void * | operator new (size_t size, size_t index) |
Allocates space for new Titem with given index. More... | |
void * | operator new (size_t size, void *ptr) |
Allocates space for new Titem at given memory address. More... | |
void | operator delete (void *p) |
Marks Titem as free. More... | |
![]() | |
void | CopyConsistPropertiesFrom (const BaseConsist *src) |
Copy properties of other BaseConsist. More... | |
Static Public Member Functions | |
static void | Backup (const Vehicle *v, uint32 user) |
Create an order backup for the given vehicle. More... | |
static void | Restore (Vehicle *v, uint32 user) |
Restore the data of this order to the given vehicle. More... | |
static void | ResetOfUser (TileIndex tile, uint32 user) |
Reset an OrderBackup given a tile and user. More... | |
static void | ResetUser (uint32 user) |
Reset an user's OrderBackup if needed. More... | |
static void | Reset (TileIndex tile=INVALID_TILE, bool from_gui=true) |
Reset the OrderBackups from GUI/game logic. More... | |
static void | ClearGroup (GroupID group) |
Clear the group of all backups having this group ID. More... | |
static void | ClearVehicle (const Vehicle *v) |
Clear/update the (clone) vehicle from an order backup. More... | |
static void | RemoveOrder (OrderType type, DestinationID destination) |
Removes an order from all vehicles. More... | |
![]() | |
static bool | CanAllocateItem (size_t n=1) |
Helper functions so we can use PoolItem::Function() instead of _poolitem_pool.Function() More... | |
static bool | CleaningPool () |
Returns current state of pool cleaning - yes or no. More... | |
static bool | IsValidID (size_t index) |
Tests whether given index can be used to get valid (non-NULL) Titem. More... | |
static Titem * | Get (size_t index) |
Returns Titem with given index. More... | |
static Titem * | GetIfValid (size_t index) |
Returns Titem with given index. More... | |
static size_t | GetPoolSize () |
Returns first unused index. More... | |
static size_t | GetNumItems () |
Returns number of valid items in the pool. More... | |
static void | PostDestructor (size_t index) |
Dummy function called after destructor of each member. More... | |
Private Member Functions | |
OrderBackup () | |
Creation for savegame restoration. More... | |
OrderBackup (const Vehicle *v, uint32 user) | |
Create an order backup for the given vehicle. More... | |
void | DoRestore (Vehicle *v) |
Restore the data of this order to the given vehicle. More... | |
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 | |
const struct SaveLoad * | GetOrderBackupDescription () |
Saving and loading of order backups. | |
void | Load_BKOR () |
Creating empty orders upon savegame loading. | |
Additional Inherited Members | |
![]() | |
Tindex | index |
Index of this pool item. | |
![]() | |
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 (. More... | |
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.
References Backup(), ClearGroup(), ClearVehicle(), DoRestore(), INVALID_TILE, RemoveOrder(), Reset(), ResetOfUser(), ResetUser(), Restore(), and ~OrderBackup().
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 clone, BaseConsist::CopyConsistPropertiesFrom(), Vehicle::FirstShared(), group, Vehicle::group_id, Vehicle::IsOrderListShared(), 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.
Referenced by OrderBackup().
|
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(), CmdSellVehicle(), and OrderBackup().
|
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 OrderBackup().
|
static |
Clear/update the (clone) vehicle from an order backup.
v | The vehicle to clear. |
Definition at line 241 of file order_backup.cpp.
Referenced by OrderBackup().
|
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 clone, DoCommand(), and Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::index.
Referenced by OrderBackup(), and 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, Order::next, and orders.
Referenced by OrderBackup().
|
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 OrderBackup(), 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(), and OrderBackup().
|
static |
Reset an user's OrderBackup if needed.
user | The user associated with the OrderBackup. |
Definition at line 170 of file order_backup.cpp.
Referenced by OrderBackup(), and 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 OrderBackup().