mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-06 06:15:04 +00:00
(svn r13373) -Fix (r10210): loading of very old savegames was broken
This commit is contained in:
parent
722f48a1d6
commit
7ec0a9ec3f
@ -651,10 +651,18 @@ void SlArray(void *array, size_t length, VarType conv)
|
||||
/* NOTICE - handle some buggy stuff, in really old versions everything was saved
|
||||
* as a byte-type. So detect this, and adjust array size accordingly */
|
||||
if (!_sl.save && _sl_version == 0) {
|
||||
/* all arrays except difficulty settings */
|
||||
if (conv == SLE_INT16 || conv == SLE_UINT16 || conv == SLE_STRINGID ||
|
||||
conv == SLE_INT32 || conv == SLE_UINT32) {
|
||||
length *= SlCalcConvFileLen(conv);
|
||||
conv = SLE_INT8;
|
||||
SlCopyBytes(array, length * SlCalcConvFileLen(conv));
|
||||
return;
|
||||
}
|
||||
/* used for conversion of Money 32bit->64bit */
|
||||
if (conv == (SLE_FILE_I32 | SLE_VAR_I64)) {
|
||||
for (uint i = 0; i < length; i++) {
|
||||
((int64*)array)[i] = (int32)BSWAP32(SlReadUint32());
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -46,11 +46,11 @@ struct SubsidyListWindow : Window {
|
||||
}
|
||||
|
||||
if (num == 0) {
|
||||
y -= 10; /* "None" */
|
||||
y -= 10; // "None"
|
||||
if (y < 0) return;
|
||||
}
|
||||
|
||||
y -= 11; /* "Services already subsidised:" */
|
||||
y -= 11; // "Services already subsidised:"
|
||||
if (y < 0) return;
|
||||
|
||||
for (const Subsidy *s = _subsidies; s != endof(_subsidies); s++) {
|
||||
|
Loading…
Reference in New Issue
Block a user