OpenTTD
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 <exception>
#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 byte CalcOldVarLen (OldChunkType type)
 
static byte ReadByteFromFile (LoadgameState *ls)
 Reads a byte from a file (do not call yourself, use ReadByte()) More...
 
byte 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 bool CheckOldSavegameType (FILE *f, char *temp, const char *last, uint len)
 
static SavegameType DetermineOldSavegameType (FILE *f, char *title, const char *last)
 
bool LoadOldSaveGame (const char *file)
 
void GetOldSaveGameName (const char *file, char *title, const char *last)
 

Variables

static const int TTO_HEADER_SIZE = 41
 
static const int TTD_HEADER_SIZE = 49
 
uint32 _bump_assert_value
 

Detailed Description

Functions for handling of TTO/TTD/TTDP savegames.

Definition in file oldloader.cpp.

Function Documentation

◆ InitLoading()

static void InitLoading ( LoadgameState ls)
static

Initialize some data before reading.

Definition at line 190 of file oldloader.cpp.

◆ LoadChunk()

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

Loads a chunk from the old savegame.

Definition at line 111 of file oldloader.cpp.

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

◆ ReadByte()

byte ReadByte ( LoadgameState ls)

Reads a byte from the buffer and decompress if needed.

Definition at line 77 of file oldloader.cpp.

References ReadByteFromFile().

◆ ReadByteFromFile()

static byte ReadByteFromFile ( LoadgameState ls)
static

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

Definition at line 50 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
Note
the title (incl. checksum) has to be at least 41/49 (HEADER_SIZE) bytes long!

Definition at line 214 of file oldloader.cpp.

References ROL(), and SB().