No longer truncate savegame version in gamelog.
Add an extended feature for changed savegame format.
This commit is contained in:
@@ -28,8 +28,11 @@ static const SaveLoad _glog_mode_desc[] = {
|
||||
SLE_END()
|
||||
};
|
||||
|
||||
static char old_revision_text[NETWORK_REVISION_LENGTH];
|
||||
|
||||
static const SaveLoad _glog_revision_desc[] = {
|
||||
SLE_ARR(LoggedChange, revision.text, SLE_UINT8, NETWORK_REVISION_LENGTH),
|
||||
SLEG_CONDARR_X(old_revision_text, SLE_UINT8, NETWORK_REVISION_LENGTH, 0, SL_MAX_VERSION, SlXvFeatureTest(XSLFTO_AND, XSLFI_EXTENDED_GAMELOG, 0, 0)),
|
||||
SLE_CONDSTR_X(LoggedChange, revision.text, SLE_STR, 0, 0, SL_MAX_VERSION, SlXvFeatureTest(XSLFTO_AND, XSLFI_EXTENDED_GAMELOG)),
|
||||
SLE_VAR(LoggedChange, revision.newgrf, SLE_UINT32),
|
||||
SLE_VAR(LoggedChange, revision.slver, SLE_UINT16),
|
||||
SLE_VAR(LoggedChange, revision.modified, SLE_UINT8),
|
||||
@@ -132,6 +135,9 @@ static void Load_GLOG_common(LoggedAction *&gamelog_action, uint &gamelog_action
|
||||
assert((uint)ct < GLCT_END);
|
||||
|
||||
SlObject(lc, _glog_desc[ct]);
|
||||
if (ct == GLCT_REVISION && SlXvIsFeatureMissing(XSLFI_EXTENDED_GAMELOG)) {
|
||||
lc->revision.text = stredup(old_revision_text);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user