OpenTTD Source 20241224-master-gee860a5c8e
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.
 
size_t GetLength () const override
 Get number of elements to load into vector.
 
- 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 (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.
 

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

◆ compat_description

template<typename T >
const SaveLoadCompatTable SlStationSpecList< T >::compat_description = _station_spec_list_sl_compat
inlinestatic

Definition at line 211 of file station_sl.cpp.

◆ 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:868
@ SL_MAX_VERSION
Highest possible saveload version.
Definition saveload.h:399
@ 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.

◆ last_num_specs

template<typename T >
uint8_t SlStationSpecList< T >::last_num_specs
inlinestatic

Number of specs of the last loaded station.

Definition at line 213 of file station_sl.cpp.

Referenced by SlStationSpecList< T >::GetLength().


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