OpenTTD Source 20260129-master-g2bb01bd0e4
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< SlOrders< T >, T, Order > VectorSaveLoadHandler< SlRoadStopTileData, BaseStation, RoadStopTileData > VectorSaveLoadHandler< SlStationSpecList< T >, BaseStation, SpecMapping< T > > VectorSaveLoadHandler< SlTownSupplied, Town, Town::SuppliedCargo > 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
 Save the object to disk.
 
void Save (void *object) const override
 Save the object to disk.
 
virtual void Load (TObject *object) const
 Load the object from disk.
 
void Load (void *object) const override
 Load the object from disk.
 
virtual void LoadCheck (TObject *object) const
 Similar to load, but used only to validate savegames.
 
void LoadCheck (void *object) const override
 Similar to load, but used only to validate savegames.
 
virtual void FixPointers (TObject *object) const
 A post-load callback to fix SL_REF integers into pointers.
 
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
 Description derived from savegame being loaded.
 

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 600 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

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

Parameters
objectThe object to fix.

Reimplemented in SlStationGoods, SlStationBase, SlStationNormal, SlStationWaypoint, SlCompanySettings, SlCompanyEconomy, SlStationCargo, SlVehicleCommon, SlVehicleTrain, SlVehicleRoadVeh, SlVehicleShip, SlVehicleAircraft, SlVehicleEffect, and SlVehicleDisaster.

Definition at line 631 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 632 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.

Returns
Compatibility save load description.

Implements SaveLoadHandler.

Definition at line 604 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.

Returns
Save load description.

Implements SaveLoadHandler.

Reimplemented in SlCompanyOldAIBuildRec, and SlLinkgraphJobProxy.

Definition at line 602 of file saveload.h.

Referenced by VectorSaveLoadHandler< TImpl, TObject, TElementType, MAX_LENGTH >::Save().

◆ Load() [1/2]

◆ 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 618 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

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

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

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

◆ Save() [1/2]

◆ 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 611 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: