Add CityMania settings filter to settings window
This commit is contained in:
@@ -1191,7 +1191,9 @@ bool SettingEntry::UpdateFilterState(SettingFilter &filter, bool force_visible)
|
||||
}
|
||||
|
||||
if (visible) {
|
||||
if (filter.type != ST_ALL && sd->GetType() != filter.type) {
|
||||
if (filter.type != ST_ALL &&
|
||||
((filter.type != CM_ST_CITYMANIA || (sd->flags & CM_SF_CITYMANIA) == 0) &&
|
||||
sd->GetType() != filter.type)) {
|
||||
filter.type_hides = true;
|
||||
visible = false;
|
||||
}
|
||||
@@ -2119,6 +2121,7 @@ struct GameSettingsWindow : Window {
|
||||
case ST_GAME: SetDParam(0, _game_mode == GM_MENU ? STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU : STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME); break;
|
||||
case ST_COMPANY: SetDParam(0, _game_mode == GM_MENU ? STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU : STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME); break;
|
||||
case ST_CLIENT: SetDParam(0, STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT); break;
|
||||
case CM_ST_CITYMANIA: SetDParam(0, CM_STR_CONFIG_SETTING_TYPE_DROPDOWN_CITYMANIA); break;
|
||||
default: SetDParam(0, STR_CONFIG_SETTING_TYPE_DROPDOWN_ALL); break;
|
||||
}
|
||||
break;
|
||||
@@ -2144,6 +2147,7 @@ struct GameSettingsWindow : Window {
|
||||
list.emplace_back(new DropDownListStringItem(_game_mode == GM_MENU ? STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU : STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME, ST_GAME, false));
|
||||
list.emplace_back(new DropDownListStringItem(_game_mode == GM_MENU ? STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU : STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME, ST_COMPANY, false));
|
||||
list.emplace_back(new DropDownListStringItem(STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT, ST_CLIENT, false));
|
||||
list.emplace_back(new DropDownListStringItem(CM_STR_CONFIG_SETTING_TYPE_DROPDOWN_CITYMANIA, CM_ST_CITYMANIA, false));
|
||||
break;
|
||||
}
|
||||
return list;
|
||||
|
||||
Reference in New Issue
Block a user