Initial stubs for extending the save/load version checking/upgrade code,
with support for tests on individually versioned features as well as savegame versions. This is mainly for improved handling of features added to patchpacks. The current status-quo of picking a random number for the savegame version when releasing a patch breaks loading of savegames from newer trunk savegame versions, with or without the same patch applied, as savegame upgrade code is not run, which can also lead to crashes on load. Instead don't change the savegame version (but set the high bit to keep trunk versions away), but instead include the versions of individual features using a separate mechanism.
This commit is contained in:
@@ -17,8 +17,8 @@ static const SettingDescGlobVarList _win32_settings[] = {
|
||||
};
|
||||
#endif /* WIN32 */
|
||||
[templates]
|
||||
SDTG_BOOL = SDTG_BOOL($name, $flags, $guiflags, $var, $def, $str, $strhelp, $strval, $proc, $from, $to, $cat),
|
||||
SDTG_VAR = SDTG_VAR($name, $type, $flags, $guiflags, $var, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $from, $to, $cat),
|
||||
SDTG_BOOL = SDTG_BOOL($name, $flags, $guiflags, $var, $def, $str, $strhelp, $strval, $proc, $from, $to, $cat, $extver),
|
||||
SDTG_VAR = SDTG_VAR($name, $type, $flags, $guiflags, $var, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $from, $to, $cat, $extver),
|
||||
SDTG_END = SDTG_END()
|
||||
|
||||
[defaults]
|
||||
@@ -33,6 +33,7 @@ load = NULL
|
||||
from = 0
|
||||
to = SL_MAX_VERSION
|
||||
cat = SC_ADVANCED
|
||||
extver = {}
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user