OpenTTD Source: src/newgrf_storage.h File Reference

OpenTTD Source 13.2.1

Data Structures | Typedefs | Enumerations | Functions | Variables
newgrf_storage.h File Reference
`#include "core/pool_type.hpp"`
`#include "tile_type.h"`

Go to the source code of this file.

## Data Structures
struct | BasePersistentStorageArray
| Base class for all persistent NewGRF storage arrays. More...
struct | PersistentStorageArray< TYPE, SIZE >
| Class for persistent storage of data. More...
struct | TemporaryStorageArray< TYPE, SIZE >
| Class for temporary storage of data. More...
struct | PersistentStorage
| Class for pooled persistent storage of data. More...

## Typedefs
typedef PersistentStorageArray< int32, 16 > | OldPersistentStorage
typedef uint32 | PersistentStorageID
typedef Pool< PersistentStorage, PersistentStorageID, 1, 0xFF000 > | PersistentStoragePool

## Enumerations
enum | PersistentStorageMode { PSM_ENTER_GAMELOOP, PSM_LEAVE_GAMELOOP, PSM_ENTER_COMMAND, PSM_LEAVE_COMMAND, PSM_ENTER_TESTMODE, PSM_LEAVE_TESTMODE }
| Mode switches to the behaviour of persistent storage array. More...

## Functions
void | AddChangedPersistentStorage (BasePersistentStorageArray *storage)
| Add the changed storage array to the list of changed arrays. More...

## Variables
PersistentStoragePool | _persistent_storage_pool

## Detailed Description

Functionality related to the temporary and persistent storage arrays for NewGRFs.

Definition in file newgrf_storage.h.

## Enumeration Type Documentation

## ◆ PersistentStorageMode

enum PersistentStorageMode

Mode switches to the behaviour of persistent storage array.

Enumerator
PSM_ENTER_GAMELOOP | Enter the gameloop, changes will be permanent.
PSM_LEAVE_GAMELOOP | Leave the gameloop, changes will be temporary.
PSM_ENTER_COMMAND | Enter command scope, changes will be permanent.
PSM_LEAVE_COMMAND | Leave command scope, revert to previous mode.
PSM_ENTER_TESTMODE | Enter command test mode, changes will be temporary.
PSM_LEAVE_TESTMODE | Leave command test mode, revert to previous mode.

Definition at line 19 of file newgrf_storage.h.

## Function Documentation

## ◆ AddChangedPersistentStorage()

void AddChangedPersistentStorage | ( | BasePersistentStorageArray * | storage | ) |

Add the changed storage array to the list of changed arrays.

This is done so we only have to revert/save the changed arrays, which saves quite a few clears, etc. after callbacks.

Parameters

  storage | the array that has changed

Definition at line 43 of file newgrf_storage.cpp.

References _changed_storage_arrays.

Referenced by PersistentStorageArray< int32, 256 >::StoreValue().