OpenTTD Source  12.0-beta2
DefaultSaveLoadHandler< TImpl, TObject > Class Template Reference

Default handler for saving/loading an object to/from disk. More...

#include <saveload.h>

Inheritance diagram for DefaultSaveLoadHandler< TImpl, TObject >:
SaveLoadHandler

Public Member Functions

SaveLoadTable GetDescription () const override
 Get the description of the fields in the savegame.
 
SaveLoadCompatTable GetCompatDescription () const override
 Get the pre-header description of the fields in the savegame.
 
virtual void Save (TObject *object) const
 
void Save (void *object) const override
 Save the object to disk. More...
 
virtual void Load (TObject *object) const
 
void Load (void *object) const override
 Load the object from disk. More...
 
virtual void LoadCheck (TObject *object) const
 
void LoadCheck (void *object) const override
 Similar to load, but used only to validate savegames. More...
 
virtual void FixPointers (TObject *object) const
 
void FixPointers (void *object) const override
 A post-load callback to fix SL_REF integers into pointers. More...
 
- Public Member Functions inherited from SaveLoadHandler
SaveLoadTable GetLoadDescription () const
 Get the description for how to load the chunk. More...
 

Additional Inherited Members

- Data Fields inherited from SaveLoadHandler
std::optional< std::vector< SaveLoad > > load_description
 

Detailed Description

template<class TImpl, class TObject>
class DefaultSaveLoadHandler< TImpl, TObject >

Default handler for saving/loading an object to/from disk.

This handles a few common things for handlers, meaning the actual handler needs less code.

Usage: class SlMine : public DefaultSaveLoadHandler<SlMine, MyObject> {}

Template Parameters
TImplThe class initializing this template.
TObjectThe class of the object using this SaveLoadHandler.

Definition at line 515 of file saveload.h.

Member Function Documentation

◆ FixPointers()

template<class TImpl , class TObject >
void DefaultSaveLoadHandler< TImpl, TObject >::FixPointers ( void *  object) const
inlineoverridevirtual

A post-load callback to fix SL_REF integers into pointers.

Parameters
objectThe object to fix.

Reimplemented from SaveLoadHandler.

Definition at line 530 of file saveload.h.

Referenced by DefaultSaveLoadHandler< SlVehicleShip, Vehicle >::FixPointers().

◆ Load()

template<class TImpl , class TObject >
void DefaultSaveLoadHandler< TImpl, TObject >::Load ( void *  object) const
inlineoverridevirtual

Load the object from disk.

Parameters
objectThe object to load.

Reimplemented from SaveLoadHandler.

Definition at line 524 of file saveload.h.

Referenced by DefaultSaveLoadHandler< SlVehicleShip, Vehicle >::Load().

◆ LoadCheck()

template<class TImpl , class TObject >
void DefaultSaveLoadHandler< TImpl, TObject >::LoadCheck ( void *  object) const
inlineoverridevirtual

Similar to load, but used only to validate savegames.

Parameters
objectThe object to load.

Reimplemented from SaveLoadHandler.

Definition at line 527 of file saveload.h.

Referenced by DefaultSaveLoadHandler< SlVehicleShip, Vehicle >::LoadCheck().

◆ Save()

template<class TImpl , class TObject >
void DefaultSaveLoadHandler< TImpl, TObject >::Save ( void *  object) const
inlineoverridevirtual

Save the object to disk.

Parameters
objectThe object to store.

Reimplemented from SaveLoadHandler.

Definition at line 521 of file saveload.h.

Referenced by DefaultSaveLoadHandler< SlVehicleShip, Vehicle >::Save().


The documentation for this class was generated from the following file: