12 #include "../stdafx.h"
14 #include "../engine_base.h"
15 #include "../string_func.h"
18 #include "../safeguards.h"
20 static const SaveLoad _engine_desc[] = {
51 static std::vector<Engine> _temp_engine;
55 if (index < _temp_engine.size()) {
56 return &_temp_engine[index];
57 }
else if (index == _temp_engine.size()) {
58 uint8 zero[
sizeof(
Engine)];
59 memset(zero, 0,
sizeof(zero));
63 _temp_engine.push_back(*engine);
65 return &_temp_engine[index];
71 static void Save_ENGN()
75 SlSetArrayIndex(e->
index);
80 static void Load_ENGN()
87 Engine *e = GetTempDataEngine(index);
107 if (e->
index >= _temp_engine.size())
break;
130 _temp_engine.clear();
133 static void Load_ENGS()
143 Engine *e = GetTempDataEngine(engine);
157 static void Save_EIDS()
162 SlSetArrayIndex(index);
163 SlObject(eid, _engine_id_mapping_desc);
167 static void Load_EIDS()
169 _engine_mngr.
Clear();
173 SlObject(eid, _engine_id_mapping_desc);
178 {
'EIDS', Save_EIDS, Load_EIDS, NULL, NULL, CH_ARRAY },
179 {
'ENGN', Save_ENGN, Load_ENGN, NULL, NULL, CH_ARRAY },
180 {
'ENGS', NULL, Load_ENGS, NULL, NULL, CH_RIFF |
CH_LAST },