Change: prefix SL_ARR with the length of the array

This means that during loading we can validate that what is saved
is also that what is expected. Additionally, this makes all list
types similar to how they are stored on disk:
First a gamma to indicate length, followed by the data.
The size still depends on the type.
This commit is contained in:
Patric Stout
2021-06-12 14:49:51 +02:00
committed by Patric Stout
parent f67af5cbe5
commit 97b94bdc9a
10 changed files with 117 additions and 69 deletions

View File

@@ -41,7 +41,7 @@ static const SettingTable _gameopt_settings{
* XXX - To save file-space and since values are never bigger than about 10? only
* save the first 16 bits in the savegame. Question is why the values are still int32
* and why not byte for example?
* 'SLE_FILE_I16 | SLE_VAR_U16' in "diff_custom" is needed to get around SlArray() hack
* 'SLE_FILE_I16 | SLE_VAR_U16' in "diff_custom" is needed to get around SlCopy() hack
* for savegames version 0 - though it is an array, it has to go through the byteswap process */
[post-amble]
};