From 36d5b874da7bdb0c1676ef73812f1b082b6a4b71 Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Sat, 1 Aug 2015 17:22:34 +0100 Subject: [PATCH 1/3] Update project files --- projects/openttd_vs100.vcxproj | 2 ++ projects/openttd_vs100.vcxproj.filters | 6 ++++++ projects/openttd_vs80.vcproj | 8 ++++++++ projects/openttd_vs90.vcproj | 8 ++++++++ 4 files changed, 24 insertions(+) diff --git a/projects/openttd_vs100.vcxproj b/projects/openttd_vs100.vcxproj index 37f9948032..0571ef4862 100644 --- a/projects/openttd_vs100.vcxproj +++ b/projects/openttd_vs100.vcxproj @@ -869,6 +869,8 @@ + + diff --git a/projects/openttd_vs100.vcxproj.filters b/projects/openttd_vs100.vcxproj.filters index 06800ffdaf..0b6dc573b4 100644 --- a/projects/openttd_vs100.vcxproj.filters +++ b/projects/openttd_vs100.vcxproj.filters @@ -1836,6 +1836,12 @@ Save/Load handlers + + Save/Load handlers + + + Save/Load handlers + Tables diff --git a/projects/openttd_vs80.vcproj b/projects/openttd_vs80.vcproj index f859fcf18a..f6b938ed7d 100644 --- a/projects/openttd_vs80.vcproj +++ b/projects/openttd_vs80.vcproj @@ -2770,6 +2770,14 @@ RelativePath=".\..\src\saveload\waypoint_sl.cpp" > + + + + + + + + Date: Sat, 1 Aug 2015 18:03:07 +0100 Subject: [PATCH 2/3] Implement version setting in SlXvSetCurrentState Call in ClearSaveLoadState --- src/saveload/extended_ver_sl.cpp | 5 ++++- src/saveload/saveload.cpp | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) 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 b369af5627..55a37f8ee8 100644 --- a/src/saveload/saveload.cpp +++ b/src/saveload/saveload.cpp @@ -2467,6 +2467,8 @@ static inline void ClearSaveLoadState() delete _sl.lf; _sl.lf = NULL; + + SlXvSetCurrentState(); } /** From b3e102fe52fffb278464d720e188420c3bcc4c73 Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Sat, 1 Aug 2015 18:16:55 +0100 Subject: [PATCH 3/3] Fix length mismatch in PATX loader. --- src/settings.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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() };