OpenTTD Source 20260917-master-gec444f7315
SlVehicleRoadVeh Class Reference
Inheritance diagram for SlVehicleRoadVeh:
DefaultSaveLoadHandler< SlVehicleRoadVeh, 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< SlVehicleRoadVeh, 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 Member Functions

static void ConvertPathCache (RoadVehicle &rv)

Static Public Attributes

static const SaveLoad description []
static const SaveLoadCompatTable compat_description = _vehicle_roadveh_sl_compat
static std::vector< Trackdir > rv_path_td
static std::vector< TileIndex > rv_path_tile

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 850 of file vehicle_sl.cpp.

Member Function Documentation

◆ ConvertPathCache()

void SlVehicleRoadVeh::ConvertPathCache ( RoadVehicle & rv)
inlinestatic

Definition at line 874 of file vehicle_sl.cpp.

◆ FixPointers()

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

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

Parameters
objectThe object to fix.

Reimplemented from DefaultSaveLoadHandler< SlVehicleRoadVeh, Vehicle >.

Definition at line 908 of file vehicle_sl.cpp.

References DefaultSaveLoadHandler< SlVehicleRoadVeh, Vehicle >::GetDescription(), Road, SlObject(), and BaseVehicle::type.

◆ Load()

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

Load the object from disk.

Parameters
objectThe object to load.

Reimplemented from DefaultSaveLoadHandler< SlVehicleRoadVeh, Vehicle >.

Definition at line 899 of file vehicle_sl.cpp.

References SaveLoadHandler::GetLoadDescription(), IsSavegameVersionBefore(), PathCacheFormat, Road, RoadvehPathCache, SlObject(), and BaseVehicle::type.

◆ Save()

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

Save the object to disk.

Parameters
objectThe object to store.

Reimplemented from DefaultSaveLoadHandler< SlVehicleRoadVeh, Vehicle >.

Definition at line 893 of file vehicle_sl.cpp.

References DefaultSaveLoadHandler< SlVehicleRoadVeh, Vehicle >::GetDescription(), Road, SlObject(), and BaseVehicle::type.

Field Documentation

◆ compat_description

const SaveLoadCompatTable SlVehicleRoadVeh::compat_description = _vehicle_roadveh_sl_compat
inlinestatic

Definition at line 872 of file vehicle_sl.cpp.

◆ description

const SaveLoad SlVehicleRoadVeh::description[]
inlinestatic
Initial value:
= {
}
static std::vector< TileIndex > rv_path_tile
static std::vector< Trackdir > rv_path_td
#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
@ RoadvehPathCache
Saveload version: 211, GitHub pull request: 7261 Add path cache for road vehicles.
Definition saveload.h:303
@ RvRealisticAcceleration
Saveload version: 139, SVN revision: 19346 Realistic acceleration of road vehicles.
Definition saveload.h:216
Buses, trucks and trams belong to this class.
Definition roadveh.h:105
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

Definition at line 858 of file vehicle_sl.cpp.

◆ rv_path_td

std::vector<Trackdir> SlVehicleRoadVeh::rv_path_td
inlinestatic

RoadVehicle path is stored in std::pair which cannot be directly saved.

Definition at line 854 of file vehicle_sl.cpp.

◆ rv_path_tile

std::vector<TileIndex> SlVehicleRoadVeh::rv_path_tile
inlinestatic

RoadVehicle path is stored in std::pair which cannot be directly saved.

Definition at line 855 of file vehicle_sl.cpp.


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