diff --git a/src/saveload/extended_ver_sl.cpp b/src/saveload/extended_ver_sl.cpp index 478e6d2f34..7127faf7b6 100644 --- a/src/saveload/extended_ver_sl.cpp +++ b/src/saveload/extended_ver_sl.cpp @@ -108,7 +108,10 @@ void SlXvSetCurrentState() SlXvResetState(); _sl_is_ext_version = true; - // TODO: set versions for currently enabled features here + const SlxiSubChunkInfo *info = _sl_xv_sub_chunk_infos; + for (; info->index != XSLFI_NULL; ++info) { + _sl_xv_feature_versions[info->index] = info->save_version; + } } /** diff --git a/src/saveload/saveload.cpp b/src/saveload/saveload.cpp index 84caf0ee4d..97abe2139e 100644 --- a/src/saveload/saveload.cpp +++ b/src/saveload/saveload.cpp @@ -2469,6 +2469,8 @@ static inline void ClearSaveLoadState() delete _sl.lf; _sl.lf = NULL; + + SlXvSetCurrentState(); } /** diff --git a/src/settings.cpp b/src/settings.cpp index b8e329ef5c..203dccbea0 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -2293,7 +2293,7 @@ static void LoadSettingsPatx(const SettingDesc *sd, void *object) static const SaveLoad _settings_patx_desc[] = { SLE_VAR(SettingsPatxLoad, flags, SLE_UINT32), - SLE_STR(SettingsPatxLoad, name, SLE_STRB, 255), + SLE_STR(SettingsPatxLoad, name, SLE_STRB, 256), SLE_VAR(SettingsPatxLoad, setting_length, SLE_UINT32), SLE_END() };