10 #include "../stdafx.h"
15 #include "../map_func.h"
16 #include "../core/bitmath_func.hpp"
20 #include "../safeguards.h"
22 static uint32 _map_dim_x;
23 static uint32 _map_dim_y;
25 static const SaveLoad _map_desc[] = {
68 static const uint MAP_SL_BUF_SIZE = 4096;
75 std::array<byte, MAP_SL_BUF_SIZE> buf;
79 SlCopy(buf.data(), MAP_SL_BUF_SIZE, SLE_UINT8);
80 for (uint j = 0; j != MAP_SL_BUF_SIZE; j++)
_m[i++].
type = buf[j];
86 std::array<byte, MAP_SL_BUF_SIZE> buf;
91 for (uint j = 0; j != MAP_SL_BUF_SIZE; j++) buf[j] =
_m[i++].
type;
92 SlCopy(buf.data(), MAP_SL_BUF_SIZE, SLE_UINT8);
102 std::array<byte, MAP_SL_BUF_SIZE> buf;
106 SlCopy(buf.data(), MAP_SL_BUF_SIZE, SLE_UINT8);
107 for (uint j = 0; j != MAP_SL_BUF_SIZE; j++)
_m[i++].height = buf[j];
113 std::array<byte, MAP_SL_BUF_SIZE> buf;
118 for (uint j = 0; j != MAP_SL_BUF_SIZE; j++) buf[j] =
_m[i++].height;
119 SlCopy(buf.data(), MAP_SL_BUF_SIZE, SLE_UINT8);
129 std::array<byte, MAP_SL_BUF_SIZE> buf;
133 SlCopy(buf.data(), MAP_SL_BUF_SIZE, SLE_UINT8);
134 for (uint j = 0; j != MAP_SL_BUF_SIZE; j++)
_m[i++].m1 = buf[j];
140 std::array<byte, MAP_SL_BUF_SIZE> buf;
145 for (uint j = 0; j != MAP_SL_BUF_SIZE; j++) buf[j] =
_m[i++].m1;
146 SlCopy(buf.data(), MAP_SL_BUF_SIZE, SLE_UINT8);
156 std::array<uint16, MAP_SL_BUF_SIZE> buf;
160 SlCopy(buf.data(), MAP_SL_BUF_SIZE,
164 for (uint j = 0; j != MAP_SL_BUF_SIZE; j++)
_m[i++].m2 = buf[j];
170 std::array<uint16, MAP_SL_BUF_SIZE> buf;
175 for (uint j = 0; j != MAP_SL_BUF_SIZE; j++) buf[j] =
_m[i++].m2;
176 SlCopy(buf.data(), MAP_SL_BUF_SIZE, SLE_UINT16);
186 std::array<byte, MAP_SL_BUF_SIZE> buf;
190 SlCopy(buf.data(), MAP_SL_BUF_SIZE, SLE_UINT8);
191 for (uint j = 0; j != MAP_SL_BUF_SIZE; j++)
_m[i++].m3 = buf[j];
197 std::array<byte, MAP_SL_BUF_SIZE> buf;
202 for (uint j = 0; j != MAP_SL_BUF_SIZE; j++) buf[j] =
_m[i++].m3;
203 SlCopy(buf.data(), MAP_SL_BUF_SIZE, SLE_UINT8);
213 std::array<byte, MAP_SL_BUF_SIZE> buf;
217 SlCopy(buf.data(), MAP_SL_BUF_SIZE, SLE_UINT8);
218 for (uint j = 0; j != MAP_SL_BUF_SIZE; j++)
_m[i++].m4 = buf[j];
224 std::array<byte, MAP_SL_BUF_SIZE> buf;
229 for (uint j = 0; j != MAP_SL_BUF_SIZE; j++) buf[j] =
_m[i++].m4;
230 SlCopy(buf.data(), MAP_SL_BUF_SIZE, SLE_UINT8);
240 std::array<byte, MAP_SL_BUF_SIZE> buf;
244 SlCopy(buf.data(), MAP_SL_BUF_SIZE, SLE_UINT8);
245 for (uint j = 0; j != MAP_SL_BUF_SIZE; j++)
_m[i++].m5 = buf[j];
251 std::array<byte, MAP_SL_BUF_SIZE> buf;
256 for (uint j = 0; j != MAP_SL_BUF_SIZE; j++) buf[j] =
_m[i++].m5;
257 SlCopy(buf.data(), MAP_SL_BUF_SIZE, SLE_UINT8);
267 std::array<byte, MAP_SL_BUF_SIZE> buf;
273 SlCopy(buf.data(), 1024, SLE_UINT8);
274 for (uint j = 0; j != 1024; j++) {
275 _me[i++].
m6 =
GB(buf[j], 0, 2);
276 _me[i++].
m6 =
GB(buf[j], 2, 2);
277 _me[i++].
m6 =
GB(buf[j], 4, 2);
278 _me[i++].
m6 =
GB(buf[j], 6, 2);
283 SlCopy(buf.data(), MAP_SL_BUF_SIZE, SLE_UINT8);
284 for (uint j = 0; j != MAP_SL_BUF_SIZE; j++)
_me[i++].m6 = buf[j];
291 std::array<byte, MAP_SL_BUF_SIZE> buf;
296 for (uint j = 0; j != MAP_SL_BUF_SIZE; j++) buf[j] =
_me[i++].m6;
297 SlCopy(buf.data(), MAP_SL_BUF_SIZE, SLE_UINT8);
307 std::array<byte, MAP_SL_BUF_SIZE> buf;
311 SlCopy(buf.data(), MAP_SL_BUF_SIZE, SLE_UINT8);
312 for (uint j = 0; j != MAP_SL_BUF_SIZE; j++)
_me[i++].m7 = buf[j];
318 std::array<byte, MAP_SL_BUF_SIZE> buf;
323 for (uint j = 0; j != MAP_SL_BUF_SIZE; j++) buf[j] =
_me[i++].m7;
324 SlCopy(buf.data(), MAP_SL_BUF_SIZE, SLE_UINT8);
334 std::array<uint16, MAP_SL_BUF_SIZE> buf;
338 SlCopy(buf.data(), MAP_SL_BUF_SIZE, SLE_UINT16);
339 for (uint j = 0; j != MAP_SL_BUF_SIZE; j++)
_me[i++].m8 = buf[j];
345 std::array<uint16, MAP_SL_BUF_SIZE> buf;
350 for (uint j = 0; j != MAP_SL_BUF_SIZE; j++) buf[j] =
_me[i++].m8;
351 SlCopy(buf.data(), MAP_SL_BUF_SIZE, SLE_UINT16);