OpenTTD
Functions | Variables
strings_sl.cpp File Reference

Code handling saving and loading of strings. More...

#include "../stdafx.h"
#include "../string_func.h"
#include "saveload_internal.h"
#include "table/strings.h"
#include "../safeguards.h"

Go to the source code of this file.

Functions

StringID RemapOldStringID (StringID s)
 Remap a string ID from the old format to the new format.
char * CopyFromOldName (StringID id)
 Copy and convert old custom names to UTF-8.
void ResetOldNames ()
 Free the memory of the old names array.
void InitializeOldNames ()
 Initialize the old names table memory.
static void Load_NAME ()
 Load the NAME chunk.

Variables

static const int NUM_OLD_STRINGS = 512
 The number of custom strings stored in old savegames.
static const int LEN_OLD_STRINGS = 32
 The number of characters per string.
static const int LEN_OLD_STRINGS_TTO = 24
 The number of characters per string in TTO savegames.
char * _old_name_array = NULL
 Location to load the old names to.
const ChunkHandler _name_chunk_handlers []
 Chunk handlers related to strings.

Detailed Description

Code handling saving and loading of strings.

Definition in file strings_sl.cpp.

Function Documentation

char* CopyFromOldName ( StringID  id)

Copy and convert old custom names to UTF-8.

They were all stored in a 512 by 32 (200 by 24 for TTO) long string array and are now stored with stations, waypoints and other places with names.

Parameters
idthe StringID of the custom name to clone.
Returns
the clones custom name.

Definition at line 60 of file strings_sl.cpp.

References _old_name_array, _savegame_type, GB(), IsSavegameVersionBefore(), lastof, LEN_OLD_STRINGS, LEN_OLD_STRINGS_TTO, MAX_CHAR_LENGTH, SGT_TTO, stredup(), Utf8CharLen(), and Utf8Encode().

Referenced by AfterLoadGame(), FixOldVehicles(), and WriteValue().

StringID RemapOldStringID ( StringID  s)

Remap a string ID from the old format to the new format.

Parameters
sStringID that requires remapping
Returns
translated ID

Definition at line 29 of file strings_sl.cpp.

References IsInsideMM().

Referenced by LoadOldVehicle(), and SlSaveLoadConv().

void ResetOldNames ( )

Free the memory of the old names array.

Should be called once the old names have all been converted.

Definition at line 108 of file strings_sl.cpp.

References _old_name_array, and free().

Referenced by AfterLoadGame().

Variable Documentation

const ChunkHandler _name_chunk_handlers[]
Initial value:
{
{ 'NAME', NULL, Load_NAME, NULL, NULL, CH_ARRAY | CH_LAST},
}

Chunk handlers related to strings.

char* _old_name_array = NULL

Location to load the old names to.

Definition at line 51 of file strings_sl.cpp.

Referenced by CopyFromOldName(), InitializeOldNames(), Load_NAME(), and ResetOldNames().