mirror of https://github.com/OpenTTD/OpenTTD
Codechange: make it more obvious SlArray supports SLE_VAR_NULL
In the end, the code was already doing the right thing, but a few functions deep, and not really obvious. When validating what objects can handle SLE_VAR_NULL, it is nicer to just have this obvious.pull/9375/head
parent
d5cda58158
commit
f67af5cbe5
|
@ -1069,6 +1069,12 @@ void SlArray(void *array, size_t length, VarType conv)
|
||||||
if (_sl.need_length == NL_CALCLENGTH) return;
|
if (_sl.need_length == NL_CALCLENGTH) return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (GetVarMemType(conv) == SLE_VAR_NULL) {
|
||||||
|
assert(_sl.action != SLA_SAVE); // Use SL_NULL if you want to write null-bytes
|
||||||
|
SlSkipBytes(SlCalcArrayLen(length, conv));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
/* NOTICE - handle some buggy stuff, in really old versions everything was saved
|
/* NOTICE - handle some buggy stuff, in really old versions everything was saved
|
||||||
* as a byte-type. So detect this, and adjust array size accordingly */
|
* as a byte-type. So detect this, and adjust array size accordingly */
|
||||||
if (_sl.action != SLA_SAVE && _sl_version == 0) {
|
if (_sl.action != SLA_SAVE && _sl_version == 0) {
|
||||||
|
|
Loading…
Reference in New Issue