OpenTTD Source 20241224-master-gf74b0cf984
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 VectorSaveLoadHandler< SlAllowListData, CompanyProperties, std::string > VectorSaveLoadHandler< SlIndustryAccepted, Industry, Industry::AcceptedCargo, INDUSTRY_NUM_INPUTS > VectorSaveLoadHandler< SlIndustryProduced, Industry, Industry::ProducedCargo, INDUSTRY_NUM_OUTPUTS > VectorSaveLoadHandler< SlRoadStopTileData, BaseStation, RoadStopTileData > VectorSaveLoadHandler< SlStationSpecList< T >, BaseStation, SpecMapping< T > > VectorSaveLoadHandler< SlVehicleRoadVehPath, RoadVehicle, RoadVehPathElement > VectorSaveLoadHandler< SlVehicleShipPath, Ship, ShipPathElement > VectorSaveLoadHandler< TImpl, TObject, TElementType, MAX_LENGTH >

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.
 
virtual void Load (TObject *object) const
 
void Load (void *object) const override
 Load the object from disk.
 
virtual void LoadCheck (TObject *object) const
 
void LoadCheck (void *object) const override
 Similar to load, but used only to validate savegames.
 
virtual void FixPointers (TObject *object) const
 
void FixPointers (void *object) const override
 A post-load callback to fix SL_REF integers into pointers.
 
- Public Member Functions inherited from SaveLoadHandler
SaveLoadTable GetLoadDescription () const
 Get the description for how to load the chunk.
 

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 581 of file saveload.h.

Member Function Documentation

◆ FixPointers() [1/2]

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

Definition at line 595 of file saveload.h.

◆ FixPointers() [2/2]

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 596 of file saveload.h.

References DefaultSaveLoadHandler< TImpl, TObject >::FixPointers().

Referenced by DefaultSaveLoadHandler< TImpl, TObject >::FixPointers().

◆ GetCompatDescription()

template<class TImpl , class TObject >
SaveLoadCompatTable DefaultSaveLoadHandler< TImpl, TObject >::GetCompatDescription ( ) const
inlineoverridevirtual

Get the pre-header description of the fields in the savegame.

Implements SaveLoadHandler.

Definition at line 584 of file saveload.h.

◆ GetDescription()

template<class TImpl , class TObject >
SaveLoadTable DefaultSaveLoadHandler< TImpl, TObject >::GetDescription ( ) const
inlineoverridevirtual

Get the description of the fields in the savegame.

Implements SaveLoadHandler.

Reimplemented in SlCompanyOldAIBuildRec, and SlLinkgraphJobProxy.

Definition at line 583 of file saveload.h.

◆ Load() [1/2]

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

Definition at line 589 of file saveload.h.

◆ Load() [2/2]

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 590 of file saveload.h.

References DefaultSaveLoadHandler< TImpl, TObject >::Load().

Referenced by DefaultSaveLoadHandler< TImpl, TObject >::Load().

◆ LoadCheck() [1/2]

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

Definition at line 592 of file saveload.h.

◆ LoadCheck() [2/2]

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 593 of file saveload.h.

References DefaultSaveLoadHandler< TImpl, TObject >::LoadCheck().

Referenced by DefaultSaveLoadHandler< TImpl, TObject >::LoadCheck().

◆ Save() [1/2]

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

Definition at line 586 of file saveload.h.

◆ Save() [2/2]

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 587 of file saveload.h.

References DefaultSaveLoadHandler< TImpl, TObject >::Save().

Referenced by DefaultSaveLoadHandler< TImpl, TObject >::Save().


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