Settings: Merge orderproc into guiproc

This commit is contained in:
Jonathan G Rennison
2021-09-29 20:10:38 +01:00
parent db11c1d927
commit 65c20edde7
11 changed files with 71 additions and 64 deletions

View File

@@ -2578,7 +2578,15 @@ struct GameSettingsWindow : Window {
DropDownList list;
if (sd->desc.flags & SGF_MULTISTRING) {
for (int i = sdb->min; i <= (int)sdb->max; i++) {
int val = sd->orderproc ? sd->orderproc(i - sdb->min) : i;
int val = i;
if (sd->desc.guiproc != nullptr) {
SettingOnGuiCtrlData data;
data.type = SOGCT_MULTISTRING_ORDER;
data.val = i - sdb->min;
if (sd->desc.guiproc(data)) {
val = data.val;
}
}
assert_msg(val >= sdb->min && val <= (int)sdb->max, "min: %d, max: %d, val: %d", sdb->min, sdb->max, val);
list.emplace_back(new DropDownListStringItem(sdb->str_val + val - sdb->min, val, false));
}