From 8d38308ebbb774ff45cbe105c4709720c8216b2a Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Wed, 12 Feb 2025 19:41:47 +0000 Subject: [PATCH] Codechange: Allow ConvertibleThroughBase to be used as One/ManyOfManySetting. --- src/settings_internal.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/settings_internal.h b/src/settings_internal.h index 4a607be4fa..09e2082866 100644 --- a/src/settings_internal.h +++ b/src/settings_internal.h @@ -269,8 +269,9 @@ struct BoolSettingDesc : IntSettingDesc { struct OneOfManySettingDesc : IntSettingDesc { typedef size_t OnConvert(const char *value); ///< callback prototype for conversion error - OneOfManySettingDesc(const SaveLoad &save, SettingFlags flags, bool startup, int32_t def, - int32_t max, StringID str, StringID str_help, StringID str_val, SettingCategory cat, + template Tdef, ConvertibleThroughBaseOrTo Tmax> + OneOfManySettingDesc(const SaveLoad &save, SettingFlags flags, bool startup, Tdef def, + Tmax max, StringID str, StringID str_help, StringID str_val, SettingCategory cat, PreChangeCheck pre_check, PostChangeCallback post_callback, GetTitleCallback get_title_cb, GetHelpCallback get_help_cb, GetValueParamsCallback get_value_params_cb, GetDefaultValueCallback get_def_cb, std::initializer_list many, OnConvert *many_cnvt) : @@ -292,8 +293,9 @@ struct OneOfManySettingDesc : IntSettingDesc { /** Many of many setting. */ struct ManyOfManySettingDesc : OneOfManySettingDesc { + template Tdef> ManyOfManySettingDesc(const SaveLoad &save, SettingFlags flags, bool startup, - int32_t def, StringID str, StringID str_help, StringID str_val, SettingCategory cat, + Tdef def, StringID str, StringID str_help, StringID str_val, SettingCategory cat, PreChangeCheck pre_check, PostChangeCallback post_callback, GetTitleCallback get_title_cb, GetHelpCallback get_help_cb, GetValueParamsCallback get_value_params_cb, GetDefaultValueCallback get_def_cb, std::initializer_list many, OnConvert *many_cnvt) :