OpenTTD Source  1.11.2
engine_sl.cpp File Reference
#include "../stdafx.h"
#include "saveload_internal.h"
#include "../engine_base.h"
#include "../string_func.h"
#include <vector>
#include "../safeguards.h"

Go to the source code of this file.

Functions

static EngineCallocEngine ()
 Allocate an Engine structure, but not using the pools. More...
 
static void FreeEngine (Engine *e)
 Deallocate an Engine constructed by CallocEngine. More...
 
EngineGetTempDataEngine (EngineID index)
 
static void Save_ENGN ()
 
static void Load_ENGN ()
 
void CopyTempEngineData ()
 Copy data from temporary engine array into the real engine pool.
 
void ResetTempEngineData ()
 
static void Load_ENGS ()
 
static void Save_EIDS ()
 
static void Load_EIDS ()
 

Variables

static const SaveLoad _engine_desc []
 
static std::vector< Engine * > _temp_engine
 
static const SaveLoad _engine_id_mapping_desc []
 Save and load the mapping between the engine id in the pool, and the grf file it came from. More...
 
const ChunkHandler _engine_chunk_handlers []
 

Detailed Description

Code handling saving and loading of engines

Definition in file engine_sl.cpp.

Function Documentation

◆ CallocEngine()

static Engine* CallocEngine ( )
static

Allocate an Engine structure, but not using the pools.

The allocated Engine must be freed using FreeEngine;

Returns
Allocated engine.

Definition at line 56 of file engine_sl.cpp.

◆ FreeEngine()

static void FreeEngine ( Engine e)
static

Deallocate an Engine constructed by CallocEngine.

Parameters
eEngine to free.

Definition at line 67 of file engine_sl.cpp.

References free().

Variable Documentation

◆ _engine_chunk_handlers

const ChunkHandler _engine_chunk_handlers[]
Initial value:
= {
{ 'EIDS', Save_EIDS, Load_EIDS, nullptr, nullptr, CH_ARRAY },
{ 'ENGN', Save_ENGN, Load_ENGN, nullptr, nullptr, CH_ARRAY },
{ 'ENGS', nullptr, Load_ENGS, nullptr, nullptr, CH_RIFF | CH_LAST },
}

◆ _engine_desc

const SaveLoad _engine_desc[]
static
Initial value:
= {
SLE_CONDVAR(Engine, intro_date, SLE_FILE_U16 | SLE_VAR_I32, SL_MIN_VERSION, SLV_31),
SLE_CONDVAR(Engine, intro_date, SLE_INT32, SLV_31, SL_MAX_VERSION),
SLE_CONDVAR(Engine, age, SLE_FILE_U16 | SLE_VAR_I32, SL_MIN_VERSION, SLV_31),
SLE_VAR(Engine, reliability, SLE_UINT16),
SLE_VAR(Engine, reliability_spd_dec, SLE_UINT16),
SLE_VAR(Engine, reliability_start, SLE_UINT16),
SLE_VAR(Engine, reliability_max, SLE_UINT16),
SLE_VAR(Engine, reliability_final, SLE_UINT16),
SLE_VAR(Engine, duration_phase_1, SLE_UINT16),
SLE_VAR(Engine, duration_phase_2, SLE_UINT16),
SLE_VAR(Engine, duration_phase_3, SLE_UINT16),
SLE_VAR(Engine, flags, SLE_UINT8),
SLE_CONDVAR(Engine, preview_asked, SLE_UINT16, SLV_179, SL_MAX_VERSION),
SLE_CONDVAR(Engine, preview_company, SLE_UINT8, SLV_179, SL_MAX_VERSION),
SLE_VAR(Engine, preview_wait, SLE_UINT8),
SLE_CONDVAR(Engine, company_avail, SLE_FILE_U8 | SLE_VAR_U16, SL_MIN_VERSION, SLV_104),
SLE_CONDVAR(Engine, company_avail, SLE_UINT16, SLV_104, SL_MAX_VERSION),
SLE_CONDVAR(Engine, company_hidden, SLE_UINT16, SLV_193, SL_MAX_VERSION),
}

Definition at line 18 of file engine_sl.cpp.

◆ _engine_id_mapping_desc

const SaveLoad _engine_id_mapping_desc[]
static
Initial value:
= {
SLE_VAR(EngineIDMapping, grfid, SLE_UINT32),
SLE_VAR(EngineIDMapping, internal_id, SLE_UINT16),
SLE_VAR(EngineIDMapping, type, SLE_UINT8),
SLE_VAR(EngineIDMapping, substitute_id, SLE_UINT8),
}

Save and load the mapping between the engine id in the pool, and the grf file it came from.

Definition at line 171 of file engine_sl.cpp.

SLV_144
@ SLV_144
144 20334
Definition: saveload.h:215
SL_MIN_VERSION
@ SL_MIN_VERSION
First savegame version.
Definition: saveload.h:31
SLE_CONDSSTR
#define SLE_CONDSSTR(base, variable, type, from, to)
Storage of a std::string in some savegame versions.
Definition: saveload.h:594
SLE_CONDVAR
#define SLE_CONDVAR(base, variable, type, from, to)
Storage of a variable in some savegame versions.
Definition: saveload.h:552
SLV_84
@ SLV_84
84 11822
Definition: saveload.h:143
SLE_STR
#define SLE_STR(base, variable, type, length)
Storage of a string in every savegame version.
Definition: saveload.h:648
CH_LAST
@ CH_LAST
Last chunk in this array.
Definition: saveload.h:411
SLV_104
@ SLV_104
104 14735
Definition: saveload.h:167
Engine
Definition: engine_base.h:21
SLV_179
@ SLV_179
179 24810
Definition: saveload.h:257
SLE_CONDNULL
#define SLE_CONDNULL(length, from, to)
Empty space in some savegame versions.
Definition: saveload.h:678
SLV_31
@ SLV_31
31 5999
Definition: saveload.h:80
Window::flags
WindowFlags flags
Window flags.
Definition: window_gui.h:311
SLV_45
@ SLV_45
45 8501
Definition: saveload.h:97
EngineIDMapping
Definition: engine_base.h:163
SLV_2
@ SLV_2
2.0 0.3.0 2.1 0.3.1, 0.3.2
Definition: saveload.h:34
SL_MAX_VERSION
@ SL_MAX_VERSION
Highest possible saveload version.
Definition: saveload.h:329
SLE_VAR
#define SLE_VAR(base, variable, type)
Storage of a variable in every version of a savegame.
Definition: saveload.h:622
SLV_193
@ SLV_193
193 26802
Definition: saveload.h:275
SLV_121
@ SLV_121
121 16694
Definition: saveload.h:188