OpenTTD Source  20241121-master-g67a0fccfad
SlStationSpecList< T > Class Template Reference
Inheritance diagram for SlStationSpecList< T >:
VectorSaveLoadHandler< SlStationSpecList< T >, BaseStation, SpecMapping< T > > DefaultSaveLoadHandler< TImpl, TObject > SaveLoadHandler

Public Member Functions

std::vector< SpecMapping< T > > & GetVector (BaseStation *bst) const override
 Get instance of vector to load/save. More...
 
size_t GetLength () const override
 Get number of elements to load into vector. More...
 
- Public Member Functions inherited from VectorSaveLoadHandler< SlStationSpecList< T >, BaseStation, SpecMapping< T > >
void Save (BaseStation *object) const override
 
void Load (BaseStation *object) const override
 
- Public Member Functions inherited from DefaultSaveLoadHandler< TImpl, TObject >
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 ([[maybe_unused]] TObject *object) const
 
void Save (void *object) const override
 
virtual void Load ([[maybe_unused]] TObject *object) const
 
void Load (void *object) const override
 
virtual void LoadCheck ([[maybe_unused]] TObject *object) const
 
void LoadCheck (void *object) const override
 
virtual void FixPointers ([[maybe_unused]] TObject *object) const
 
void FixPointers (void *object) const override
 
- Public Member Functions inherited from SaveLoadHandler
virtual void Save ([[maybe_unused]] void *object) const
 Save the object to disk. More...
 
virtual void Load ([[maybe_unused]] void *object) const
 Load the object from disk. More...
 
virtual void LoadCheck ([[maybe_unused]] void *object) const
 Similar to load, but used only to validate savegames. More...
 
virtual void FixPointers ([[maybe_unused]] void *object) const
 A post-load callback to fix SL_REF integers into pointers. More...
 
SaveLoadTable GetLoadDescription () const
 Get the description for how to load the chunk. More...
 

Static Public Attributes

static const SaveLoad description []
 
static const SaveLoadCompatTable compat_description = _station_spec_list_sl_compat
 
static uint8_t last_num_specs
 Number of specs of the last loaded station.
 

Additional Inherited Members

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

Detailed Description

template<typename T>
class SlStationSpecList< T >

Definition at line 204 of file station_sl.cpp.

Member Function Documentation

◆ GetLength()

template<typename T >
size_t SlStationSpecList< T >::GetLength ( ) const
inlineoverridevirtual

Get number of elements to load into vector.

Returns
Number of elements to load into the vector.
Note
This is only overridden if the number of elements comes from a different location due to savegame changes.

Reimplemented from VectorSaveLoadHandler< SlStationSpecList< T >, BaseStation, SpecMapping< T > >.

Definition at line 217 of file station_sl.cpp.

References IsSavegameVersionBefore(), SlStationSpecList< T >::last_num_specs, SlGetStructListLength(), and SLV_SAVELOAD_LIST_LENGTH.

◆ GetVector()

template<typename T >
std::vector<SpecMapping<T> >& SlStationSpecList< T >::GetVector ( BaseStation object) const
inlineoverridevirtual

Get instance of vector to load/save.

Parameters
objectObject containing vector.
Returns
Vector to load/save.

Implements VectorSaveLoadHandler< SlStationSpecList< T >, BaseStation, SpecMapping< T > >.

Definition at line 215 of file station_sl.cpp.

Field Documentation

◆ description

template<typename T >
const SaveLoad SlStationSpecList< T >::description[]
inlinestatic
Initial value:
= {
SLE_CONDVAR(SpecMapping<T>, localidx, SLE_FILE_U8 | SLE_VAR_U16, SLV_27, SLV_EXTEND_ENTITY_MAPPING),
}
#define SLE_CONDVAR(base, variable, type, from, to)
Storage of a variable in some savegame versions.
Definition: saveload.h:863
@ SL_MAX_VERSION
Highest possible saveload version.
Definition: saveload.h:397
@ SLV_27
27 4757
Definition: saveload.h:75
@ SLV_EXTEND_ENTITY_MAPPING
311 PR#10672 Extend entity mapping range.
Definition: saveload.h:353

Definition at line 206 of file station_sl.cpp.


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