Fix extra data crash on game save

This commit is contained in:
Pavel Stupnikov
2019-07-12 02:57:18 +03:00
parent 4934dc1083
commit 510ee00a41

View File

@@ -72,6 +72,8 @@ static void Load_PSAC()
static void Save_CMDataAsPSAC() {
uint32 grfid = CITYMANIA_GRFID;
u8vector data = CM_EncodeData();
int n_chunks = (data.size() + 1023) / 1024;
data.resize(n_chunks * 1024);
uint8 *ptr = &data[0];
SaveLoadGlobVarList _desc[] = {
SLEG_CONDVAR(grfid, SLE_UINT32, SLV_6, SL_MAX_VERSION),
@@ -86,7 +88,6 @@ static void Save_CMDataAsPSAC() {
index = max(index, ps->index + 1);
}
int n_chunks = (data.size() + 1023) / 1024;
for (int i = 0; i < n_chunks; i++, ptr += 1024) {
_desc[1].address = (void *)ptr;
SlSetArrayIndex(index + i);