Add SettingOnGuiCtrlType mode for setting value dparam overrides

This commit is contained in:
Jonathan G Rennison
2024-01-16 17:47:07 +00:00
parent 1e0bb019a7
commit 53d29852e4
2 changed files with 10 additions and 0 deletions

View File

@@ -1518,6 +1518,7 @@ static const void *ResolveObject(const GameSettings *settings_ptr, const IntSett
*/
void SettingEntry::SetValueDParams(uint first_param, int32_t value) const
{
const uint initial_first_param = first_param;
if (this->setting->IsBoolSetting()) {
SetDParam(first_param++, value != 0 ? STR_CONFIG_SETTING_ON : STR_CONFIG_SETTING_OFF);
} else if (this->setting->flags & SF_DEC1SCALE) {
@@ -1547,6 +1548,13 @@ void SettingEntry::SetValueDParams(uint first_param, int32_t value) const
}
SetDParam(first_param++, value);
}
if (this->setting->guiproc != nullptr) {
SettingOnGuiCtrlData data;
data.type = SOGCT_VALUE_DPARAMS;
data.offset = initial_first_param;
data.val = value;
this->setting->guiproc(data);
}
}
/**