OpenTTD Source: src/saveload/oldloader.cpp File Reference

OpenTTD Source 15.0-beta1

Typedefs | Functions | Variables
oldloader.cpp File Reference

Functions for handling of TTO/TTD/TTDP savegames. More...

`#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.
static uint8_t | ReadByteFromFile (LoadgameState *ls)
| Reads a byte from a file (do not call yourself, use ReadByte())
uint8_t | ReadByte (LoadgameState *ls)
| Reads a byte from the buffer and decompress if needed.
bool | LoadChunk (LoadgameState *ls, void *base, const OldChunks *chunks)
| Loads a chunk from the old savegame.
static void | InitLoading (LoadgameState *ls)
| Initialize some data before reading.
static bool | VerifyOldNameChecksum (char *title, uint len)
| Verifies the title has a valid checksum.
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.

## Typedef Documentation

## ◆ LoadOldMainProc

typedef bool LoadOldMainProc(LoadgameState *ls)

Definition at line 257 of file oldloader.cpp.

## Function Documentation

## ◆ CalcOldVarLen()

static uint8_t CalcOldVarLen | ( | OldChunkType | type | ) |
| inlinestatic

Return expected size in bytes of a OldChunkType.

Parameters

  type | OldChunkType to get size of.

Returns
  size of type in bytes.

Definition at line 41 of file oldloader.cpp.

Referenced by LoadChunk().

## ◆ DetermineOldSavegameTypeAndName()

static std::tuple< SavegameType, std::string > DetermineOldSavegameTypeAndName | ( | FileHandle & | f | ) |
| static

Definition at line 238 of file oldloader.cpp.

## ◆ GetOldChunkFileType()

static OldChunkType GetOldChunkFileType | ( | OldChunkType | type | ) |
| inlinestatic

Definition at line 34 of file oldloader.cpp.

## ◆ GetOldChunkType()

static OldChunkType GetOldChunkType | ( | OldChunkType | type | ) |
| inlinestatic

Definition at line 32 of file oldloader.cpp.

## ◆ GetOldChunkVarType()

static OldChunkType GetOldChunkVarType | ( | OldChunkType | type | ) |
| inlinestatic

Definition at line 33 of file oldloader.cpp.

## ◆ GetOldSaveGameName()

std::string GetOldSaveGameName | ( | const std::string & | file | ) |

Definition at line 309 of file oldloader.cpp.

## ◆ InitLoading()

static void InitLoading | ( | LoadgameState * | ls | ) |
| static

Initialize some data before reading.

Definition at line 199 of file oldloader.cpp.

References _settings_game, GameSettings::construction, and ConstructionSettings::freeform_edges.

## ◆ 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, CalcOldVarLen(), Debug, GB(), OC_DEREFERENCE_POINTER, OC_END, OC_TTD, OC_TTO, ReadByte(), SGT_TTO, and OldChunks::type.

## ◆ LoadOldSaveGame()

bool LoadOldSaveGame | ( | const std::string & | file | ) |

Definition at line 259 of file oldloader.cpp.

## ◆ 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().

Referenced by LoadChunk().

## ◆ 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.

References Debug.

Referenced by ReadByte().

## ◆ VerifyOldNameChecksum()

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

Verifies the title has a valid checksum.

Parameters

  title | title and checksum
  len | the length of the title to read/checksum

Returns
  true iff the title is valid

Definition at line 222 of file oldloader.cpp.

References HEADER_CHECKSUM_SIZE, and SB().

## Variable Documentation

## ◆ _bump_assert_value

uint32_t _bump_assert_value

Definition at line 30 of file oldloader.cpp.

## ◆ HEADER_CHECKSUM_SIZE

const int HEADER_CHECKSUM_SIZE = 2
| static

The size of the checksum in the name/header of the TTD/TTO savegames.

Definition at line 28 of file oldloader.cpp.

Referenced by VerifyOldNameChecksum().

## ◆ TTD_HEADER_SIZE

const int TTD_HEADER_SIZE = 49
| static

Definition at line 26 of file oldloader.cpp.

## ◆ TTO_HEADER_SIZE

const int TTO_HEADER_SIZE = 41
| static

Definition at line 25 of file oldloader.cpp.