|
OpenTTD Source 20260311-master-g511d3794ce
|
Base class for all persistent NewGRF storage arrays. More...
#include <newgrf_storage.h>
Public Member Functions | |
| virtual | ~BasePersistentStorageArray () |
| Remove references to us. | |
Static Public Member Functions | |
| 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. | |
Data Fields | |
| uint32_t | grfid = 0 |
| GRFID associated to this persistent storage. A value of zero means "default". | |
| GrfSpecFeature | feature = GSF_INVALID |
| NOSAVE: Used to identify in the owner of the array in debug output. | |
| TileIndex | tile = INVALID_TILE |
| NOSAVE: Used to identify in the owner of the array in debug output. | |
Protected Member Functions | |
| virtual void | ClearChanges ()=0 |
| Discard temporary changes. | |
Static Protected Member Functions | |
| static bool | AreChangesPersistent () |
| Check whether currently changes to the storage shall be persistent or temporary till the next call to ClearChanges(). | |
Static Private Attributes | |
| static bool | gameloop |
| static bool | command |
| static bool | testmode |
Base class for all persistent NewGRF storage arrays.
Nothing fancy, only here so we have a generalised access to the virtual methods.
Definition at line 33 of file newgrf_storage.h.
|
virtual |
Remove references to us.
Definition at line 28 of file newgrf_storage.cpp.
References _changed_storage_arrays.
|
inlinestaticprotected |
Check whether currently changes to the storage shall be persistent or temporary till the next call to ClearChanges().
true iff the changes should be persisted or not. For example, when testing commands we do not persist the changes. Definition at line 53 of file newgrf_storage.h.
Referenced by PersistentStorageArray< int32_t, 16 >::StoreValue().
|
protectedpure virtual |
Discard temporary changes.
Implemented in PersistentStorageArray< TYPE, SIZE >, PersistentStorageArray< int32_t, 16 >, and PersistentStorageArray< int32_t, 256 >.
|
static |
Clear temporary changes made since the last call to SwitchMode, and set whether subsequent changes shall be persistent or temporary.
| mode | Mode switch affecting temporary/persistent changes. |
| ignore_prev_mode | Disable some sanity checks for exceptional call circumstances. |
Definition at line 51 of file newgrf_storage.cpp.
References _changed_storage_arrays, Debug, PSM_ENTER_COMMAND, PSM_ENTER_GAMELOOP, PSM_ENTER_TESTMODE, PSM_LEAVE_COMMAND, PSM_LEAVE_GAMELOOP, and PSM_LEAVE_TESTMODE.
Referenced by _GenerateWorld(), CommandHelperBase::InternalExecutePrepTest(), CommandHelperBase::InternalExecuteProcessResult(), CommandHelperBase::InternalExecuteValidateTestAndPrepExec(), and StateGameLoop().
|
staticprivate |
Definition at line 57 of file newgrf_storage.h.
| GrfSpecFeature BasePersistentStorageArray::feature = GSF_INVALID |
NOSAVE: Used to identify in the owner of the array in debug output.
Definition at line 35 of file newgrf_storage.h.
|
staticprivate |
Definition at line 56 of file newgrf_storage.h.
| uint32_t BasePersistentStorageArray::grfid = 0 |
GRFID associated to this persistent storage. A value of zero means "default".
Definition at line 34 of file newgrf_storage.h.
|
staticprivate |
Definition at line 58 of file newgrf_storage.h.
| TileIndex BasePersistentStorageArray::tile = INVALID_TILE |
NOSAVE: Used to identify in the owner of the array in debug output.
Definition at line 36 of file newgrf_storage.h.