OpenTTD Source 20260917-master-gec444f7315
SlVehicleShip Class Reference
Inheritance diagram for SlVehicleShip:
DefaultSaveLoadHandler< SlVehicleShip, Vehicle > SaveLoadHandler

Public Member Functions

void Save (Vehicle *v) const override
 Save the object to disk.
void Load (Vehicle *v) const override
 Load the object from disk.
void FixPointers (Vehicle *v) const override
 A post-load callback to fix SaveLoadType::Reference integers into pointers.
Public Member Functions inherited from DefaultSaveLoadHandler< SlVehicleShip, Vehicle >
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 LoadCheck (Vehicle *object) const
 Similar to load, but used only to validate savegames.
Public Member Functions inherited from SaveLoadHandler
virtual ~SaveLoadHandler ()=default
 Ensure the destructor of the sub classes are called as well.
virtual void Save (void *object) const
 Save the object to disk.
virtual void Load (void *object) const
 Load the object from disk.
virtual void LoadCheck (void *object) const
 Similar to load, but used only to validate savegames.
virtual void FixPointers (void *object) const
 A post-load callback to fix SaveLoadType::Reference integers into pointers.
SaveLoadTable GetLoadDescription () const
 Get the description for how to load the chunk.

Static Public Attributes

static std::vector< Trackdir > ship_path_td
static const SaveLoad description []
static const SaveLoadCompatTable compat_description = _vehicle_ship_sl_compat

Additional Inherited Members

Data Fields inherited from SaveLoadHandler
std::optional< std::vector< SaveLoad > > load_description
 Description derived from savegame being loaded.

Detailed Description

Definition at line 925 of file vehicle_sl.cpp.

Member Function Documentation

◆ FixPointers()

void SlVehicleShip::FixPointers ( Vehicle * object) const
inlineoverridevirtual

A post-load callback to fix SaveLoadType::Reference integers into pointers.

Parameters
objectThe object to fix.

Reimplemented from DefaultSaveLoadHandler< SlVehicleShip, Vehicle >.

Definition at line 957 of file vehicle_sl.cpp.

References DefaultSaveLoadHandler< SlVehicleShip, Vehicle >::GetDescription(), Ship, SlObject(), and BaseVehicle::type.

◆ Load()

void SlVehicleShip::Load ( Vehicle * object) const
inlineoverridevirtual

Load the object from disk.

Parameters
objectThe object to load.

Reimplemented from DefaultSaveLoadHandler< SlVehicleShip, Vehicle >.

Definition at line 945 of file vehicle_sl.cpp.

References SaveLoadHandler::GetLoadDescription(), IsSavegameVersionBefore(), Ship::path, PathCacheFormat, Ship, SlObject(), and BaseVehicle::type.

◆ Save()

void SlVehicleShip::Save ( Vehicle * object) const
inlineoverridevirtual

Save the object to disk.

Parameters
objectThe object to store.

Reimplemented from DefaultSaveLoadHandler< SlVehicleShip, Vehicle >.

Definition at line 939 of file vehicle_sl.cpp.

References DefaultSaveLoadHandler< SlVehicleShip, Vehicle >::GetDescription(), Ship, SlObject(), and BaseVehicle::type.

Field Documentation

◆ compat_description

const SaveLoadCompatTable SlVehicleShip::compat_description = _vehicle_ship_sl_compat
inlinestatic

Definition at line 937 of file vehicle_sl.cpp.

◆ description

const SaveLoad SlVehicleShip::description[]
inlinestatic
Initial value:
= {
}
#define SLE_OBJECT_ADDRESS(base, variable)
Macro to be able to pass the variable type and construct the SaveLoad::AddressFunction given a base c...
Definition saveload.h:754
#define SLE_GLOBAL_ADDRESS(variable)
Macro to be able to pass the variable type and construct the SaveLoad::AddressFunction given a global...
Definition saveload.h:761
@ PathCacheFormat
Saveload version: 346, GitHub pull request: 12345 Vehicle path cache format changed.
Definition saveload.h:401
@ ShipPathCache
Saveload version: 203, GitHub pull request: 7072 Add path cache for ships.
Definition saveload.h:293
@ ShipRotation
Saveload version: 204, GitHub pull request: 7065 Add extra rotation stages for ships.
Definition saveload.h:294
static SaveLoad StructList(std::string name, SaveLoadVersion from=SaveLoadVersion::MinVersion, SaveLoadVersion to=SaveLoadVersion::MaxVersion)
Storage of a list of structs, optionally in some savegame versions.
Definition saveload.h:1103
static SaveLoad Variable(std::string name, AddressFunction< T > address_func, SaveLoadVersion from=SaveLoadVersion::MinVersion, SaveLoadVersion to=SaveLoadVersion::MaxVersion, size_t extra=0)
Storage of a variable in some savegame versions.
Definition saveload.h:926
static SaveLoad Vector(std::string name, AddressFunction< T > address_func, SaveLoadVersion from=SaveLoadVersion::MinVersion, SaveLoadVersion to=SaveLoadVersion::MaxVersion)
Storage of a vector in some savegame versions.
Definition saveload.h:1053
static SaveLoad Struct(std::string name, SaveLoadVersion from=SaveLoadVersion::MinVersion, SaveLoadVersion to=SaveLoadVersion::MaxVersion)
Storage of a structs, optionally in some savegame versions.
Definition saveload.h:1001
All ships have this type.
Definition ship.h:39

Definition at line 929 of file vehicle_sl.cpp.

◆ ship_path_td

std::vector<Trackdir> SlVehicleShip::ship_path_td
inlinestatic

Definition at line 927 of file vehicle_sl.cpp.


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