OpenTTD
|
Class for persistent storage of data. More...
#include <newgrf_storage.h>
Public Member Functions | |
PersistentStorageArray () | |
Simply construct the array. | |
~PersistentStorageArray () | |
And free all data related to it. | |
void | ResetToZero () |
Resets all values to zero. | |
void | StoreValue (uint pos, int32 value) |
Stores some value at a given position. | |
TYPE | GetValue (uint pos) const |
Gets the value from a given position. | |
void | ClearChanges () |
Discard temporary changes. | |
![]() | |
virtual | ~BasePersistentStorageArray () |
Remove references to use. |
Data Fields | |
TYPE | storage [SIZE] |
Memory to for the storage array. | |
TYPE * | prev_storage |
Memory to store "old" states so we can revert them on the performance of test cases for commands etc. | |
![]() | |
uint32 | grfid |
GRFID associated to this persistent storage. A value of zero means "default". | |
byte | feature |
NOSAVE: Used to identify in the owner of the array in debug output. | |
TileIndex | tile |
NOSAVE: Used to identify in the owner of the array in debug output. |
Additional Inherited Members | |
![]() | |
static void | SwitchMode (PersistentStorageMode mode, bool ignore_prev_mode=false) |
Clear temporary changes made since the last call to SwitchMode, and set whether subsequent changes shall be persistent or temporary. | |
![]() | |
static bool | AreChangesPersistent () |
Check whether currently changes to the storage shall be persistent or temporary till the next call to ClearChanges(). |
Class for persistent storage of data.
On ClearChanges that data is either reverted or saved.
TYPE | the type of variable to store. |
SIZE | the size of the array. |
Definition at line 68 of file newgrf_storage.h.
|
inline |
Gets the value from a given position.
pos | the position to get the data from |
Definition at line 126 of file newgrf_storage.h.
Referenced by AfterLoadGame(), IndustriesScopeResolver::GetVariable(), and AirportScopeResolver::GetVariable().
|
inline |
Resets all values to zero.
Definition at line 85 of file newgrf_storage.h.
|
inline |
Stores some value at a given position.
If there is no backup of the data that backup is made and then we write the data.
pos | the position to write at |
value | the value to write |
Definition at line 97 of file newgrf_storage.h.
Referenced by IndustriesScopeResolver::StorePSA(), TownScopeResolver::StorePSA(), and AirportScopeResolver::StorePSA().