18static const SaveLoad _league_table_elements_desc[] = {
37 SlSetArrayIndex(lte->index);
38 SlObject(lte, _league_table_elements_desc);
44 const std::vector<SaveLoad> slt =
SlTableHeader(_league_table_elements_desc);
54static const SaveLoad _league_tables_desc[] = {
68 SlSetArrayIndex(lt->index);
75 const std::vector<SaveLoad> slt =
SlTableHeader(_league_tables_desc);
PoolID< uint16_t, struct LeagueTableElementIDTag, 64000, 0xFFFF > LeagueTableElementID
ID of a league table.
PoolID< uint8_t, struct LeagueTableIDTag, 255, 0xFF > LeagueTableID
ID of a league table.
A number of safeguards to prevent using unsafe methods.
int SlIterateArray()
Iterate through the elements of an array and read the whole thing.
void SlObject(void *object, const SaveLoadTable &slt)
Main SaveLoad function.
std::vector< SaveLoad > SlTableHeader(const SaveLoadTable &slt)
Save or Load a table header.
Functions/types related to saving and loading games.
#define SLE_OBJECT_ADDRESS(base, variable)
Macro to be able to pass the variable type and construct the SaveLoad::AddressFunction given a base c...
std::reference_wrapper< const ChunkHandler > ChunkHandlerRef
A reference to ChunkHandler.
std::span< const ChunkHandlerRef > ChunkHandlerTable
A table of ChunkHandler entries.
@ LinkgraphEdges
Saveload version: 304, GitHub pull request: 10314 Explicitly store link graph edges destination,...
@ MinVersion
First savegame version.
@ Table
An Array with a header describing the elements.
Definition of base types and functions in a cross-platform compatible way.
@ AllowControlCode
Allow the special control codes.
ChunkHandler(ChunkId id, ChunkType type)
Create this ChunkHandler.
void Load() const override
Load the chunk.
void Save() const override
Save the chunk.
void Load() const override
Load the chunk.
void Save() const override
Save the chunk.
Struct about league table elements.
Struct about custom league tables.
static Pool::IterateWrapper< LeagueTableElement > Iterate(size_t from=0)
static T * CreateAtIndex(LeagueTableElementID index, Targs &&... args)
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.
static SaveLoad String(std::string name, AddressFunction< T > address_func, StringValidationSettings string_validation_settings={}, SaveLoadVersion from=SaveLoadVersion::MinVersion, SaveLoadVersion to=SaveLoadVersion::MaxVersion, size_t extra=0)
Storage of a string in some savegame versions.