OpenTTD Source: SlStationSpecList< T > Class Template Reference

OpenTTD Source 15.3

Public Member Functions | Static Public Attributes
SlStationSpecList< T > Class Template Reference
Inheritance diagram for SlStationSpecList< T >:

## 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 209 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 222 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

  object | Object containing vector.

Returns
  Vector to load/save.

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

Definition at line 220 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 216 of file station_sl.cpp.

## ◆ description

template<typename T >

const SaveLoad SlStationSpecList< T >::description[]
| inlinestatic

Initial value:
= {
SLE_CONDVAR(SpecMapping<T>, grfid, SLE_UINT32, SLV_27, SL_MAX_VERSION),
SLE_CONDVAR(SpecMapping<T>, localidx, SLE_FILE_U8 | SLE_VAR_U16, SLV_27, SLV_EXTEND_ENTITY_MAPPING),
SLE_CONDVAR(SpecMapping<T>, localidx, SLE_UINT16, SLV_EXTEND_ENTITY_MAPPING, SL_MAX_VERSION),
}
SLE_CONDVAR
#define SLE_CONDVAR(base, variable, type, from, to)
Storage of a variable in some savegame versions.
Definition saveload.h:883
SL_MAX_VERSION
@ SL_MAX_VERSION
Highest possible saveload version.
Definition saveload.h:416
SLV_27
@ SLV_27
27 4757
Definition saveload.h:75
SLV_EXTEND_ENTITY_MAPPING
@ SLV_EXTEND_ENTITY_MAPPING
311 PR#10672 Extend entity mapping range.
Definition saveload.h:353
SpecMapping
Definition base_station_base.h:23

Definition at line 211 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 218 of file station_sl.cpp.

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

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

- src/saveload/station_sl.cpp