Saveload: Add value conversion support to settings xref

This commit is contained in:
Jonathan G Rennison
2020-01-03 18:53:09 +00:00
parent 7f2e6fb597
commit 8176da3f62
4 changed files with 35 additions and 15 deletions

View File

@@ -65,6 +65,10 @@ static int OrderTownGrowthRate(uint nth);
/* End - GUI order callbacks */
/* Begin - xref conversion callbacks */
/* End - xref conversion callbacks */
static const SettingDescEnumEntry _linkgraph_mode_symmetric[] = {
{ DT_MANUAL, STR_CONFIG_SETTING_DISTRIBUTION_MANUAL },
{ DT_SYMMETRIC, STR_CONFIG_SETTING_DISTRIBUTION_SYMMETRIC },
@@ -118,7 +122,7 @@ SDT_STR = SDT_STR($base, $var, $type, $flags, $guiflags, $def,
SDT_VAR = SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $from, $to, $cat, $extver, $patxname, $orderproc),
SDT_ENUM = SDT_ENUM($base, $var, $type, $flags, $guiflags, $def, $str, $strhelp, $proc, $from, $to, $cat, $extver, $patxname, $enumlist),
SDT_NULL = SDT_NULL($length, $from, $to, $extver),
SDT_XREF = SDT_XREF( $from, $to, $extver, $xref),
SDT_XREF = SDT_XREF( $from, $to, $extver, $xref, $xrefcvt),
SDT_END = SDT_END()
SDT_LINKGRAPH_PER_CARGO = SDT_ENUM(GameSettings, linkgraph.distribution_per_cargo[$linkgraph_cargo], SLE_UINT8, $flags | SLF_NOT_IN_CONFIG, $guiflags | SGF_NO_NEWGAME, DT_PER_CARGO_DEFAULT, STR_CONFIG_SETTING_DISTRIBUTION_PER_CARGO, STR_CONFIG_SETTING_DISTRIBUTION_PER_CARGO_HELPTEXT, $proc, $from, $to, SC_EXPERT, SlXvFeatureTest(XSLFTO_AND, XSLFI_LINKGRAPH_MODES), nullptr, _linkgraph_mode_per_cargo),
@@ -138,6 +142,7 @@ cat = SC_ADVANCED
extver = SlXvFeatureTest()
patxname = nullptr
xref = <this parameter must be set>
xrefcvt = nullptr
orderproc = nullptr
enumlist = <this parameter must be set>