OpenTTD Source  20240919-master-gdf0233f4c2
oldloader.cpp File Reference
#include "../stdafx.h"
#include "../debug.h"
#include "../strings_type.h"
#include "../string_func.h"
#include "../settings_type.h"
#include "../fileio_func.h"
#include "table/strings.h"
#include "saveload_internal.h"
#include "oldloader.h"
#include "../safeguards.h"

Go to the source code of this file.

Typedefs

typedef bool LoadOldMainProc(LoadgameState *ls)
 

Functions

static OldChunkType GetOldChunkType (OldChunkType type)
 
static OldChunkType GetOldChunkVarType (OldChunkType type)
 
static OldChunkType GetOldChunkFileType (OldChunkType type)
 
static uint8_t CalcOldVarLen (OldChunkType type)
 Return expected size in bytes of a OldChunkType. More...
 
static uint8_t ReadByteFromFile (LoadgameState *ls)
 Reads a byte from a file (do not call yourself, use ReadByte()) More...
 
uint8_t ReadByte (LoadgameState *ls)
 Reads a byte from the buffer and decompress if needed. More...
 
bool LoadChunk (LoadgameState *ls, void *base, const OldChunks *chunks)
 Loads a chunk from the old savegame. More...
 
static void InitLoading (LoadgameState *ls)
 Initialize some data before reading. More...
 
static bool VerifyOldNameChecksum (char *title, uint len)
 Verifies the title has a valid checksum. More...
 
static std::tuple< SavegameType, std::string > DetermineOldSavegameTypeAndName (FileHandle &f)
 
bool LoadOldSaveGame (const std::string &file)
 
std::string GetOldSaveGameName (const std::string &file)
 

Variables

static const int TTO_HEADER_SIZE = 41
 
static const int TTD_HEADER_SIZE = 49
 
static const int HEADER_CHECKSUM_SIZE = 2
 The size of the checksum in the name/header of the TTD/TTO savegames.
 
uint32_t _bump_assert_value
 

Detailed Description

Functions for handling of TTO/TTD/TTDP savegames.

Definition in file oldloader.cpp.

Function Documentation

◆ CalcOldVarLen()

static uint8_t CalcOldVarLen ( OldChunkType  type)
inlinestatic

Return expected size in bytes of a OldChunkType.

Parameters
typeOldChunkType to get size of.
Returns
size of type in bytes.

Definition at line 41 of file oldloader.cpp.

◆ InitLoading()

static void InitLoading ( LoadgameState ls)
static

Initialize some data before reading.

Definition at line 199 of file oldloader.cpp.

◆ LoadChunk()

bool LoadChunk ( LoadgameState ls,
void *  base,
const OldChunks chunks 
)

Loads a chunk from the old savegame.

Definition at line 122 of file oldloader.cpp.

References _savegame_type, OC_DEREFERENCE_POINTER, OC_END, OC_TTD, OC_TTO, SGT_TTO, and OldChunks::type.

◆ ReadByte()

uint8_t ReadByte ( LoadgameState ls)

Reads a byte from the buffer and decompress if needed.

Definition at line 88 of file oldloader.cpp.

References ReadByteFromFile().

◆ ReadByteFromFile()

static uint8_t ReadByteFromFile ( LoadgameState ls)
static

Reads a byte from a file (do not call yourself, use ReadByte())

Definition at line 61 of file oldloader.cpp.

Referenced by ReadByte().

◆ VerifyOldNameChecksum()

static bool VerifyOldNameChecksum ( char *  title,
uint  len 
)
static

Verifies the title has a valid checksum.

Parameters
titletitle and checksum
lenthe length of the title to read/checksum
Returns
true iff the title is valid

Definition at line 222 of file oldloader.cpp.