Settings: add AlternateNames element, used in search filter

Should make renaming settings less painful in future, added a couple
common alt names people have used before
This commit is contained in:
emoose
2025-07-31 02:07:53 +01:00
parent 0a7003519a
commit 689ad42bce
13 changed files with 64 additions and 6 deletions

View File

@@ -13,6 +13,7 @@ namespace nspector.Common.CustomSettings
public string HexSettingId { get; set; }
public string Description { get; set; }
public string GroupName { get; set; }
public string AlternateNames { get; set; }
public string OverrideDefault { get; set; }
public float MinRequiredDriverVersion { get; set; }
public float MaxRequiredDriverVersion { get; set; }

View File

@@ -106,6 +106,17 @@ namespace nspector.Common
return null;
}
private string GetAlternateNames(uint settingId)
{
foreach (var service in MetaServices.OrderBy(x => x.Service.Source))
{
var altNames = service.Service.GetAlternateNames(settingId);
if (altNames != null)
return altNames;
}
return null;
}
private uint GetDwordDefaultValue(uint settingId)
{
foreach (var service in MetaServices.OrderBy(x => x.Service.Source))
@@ -301,13 +312,12 @@ namespace nspector.Common
if (groupName == null)
groupName = GetLegacyGroupName(settingId, settingName);
var result = new SettingMeta()
{
SettingType = settingType,
SettingName = settingName,
GroupName = groupName,
AlternateNames = GetAlternateNames(settingId),
IsApiExposed = GetIsApiExposed(settingId),
IsSettingHidden = GetIsSettingHidden(settingId),
@@ -351,6 +361,7 @@ namespace nspector.Common
SettingName = settingMeta.SettingName,
SettingType = settingMeta.SettingType,
GroupName = settingMeta.GroupName,
AlternateNames = settingMeta.AlternateNames,
IsApiExposed = settingMeta.IsApiExposed,
IsSettingHidden = settingMeta.IsSettingHidden,
Description = settingMeta.Description,

View File

@@ -471,6 +471,7 @@ namespace nspector.Common
SettingId = setting.settingId,
SettingText = settingMeta.SettingName,
GroupName = settingMeta.GroupName,
AlternateNames = settingMeta.AlternateNames,
ValueRaw = valueRaw,
ValueText = valueText,
State = settingState,

View File

@@ -157,6 +157,11 @@ namespace nspector.Common.Meta
return null;
}
public string GetAlternateNames(uint settingId)
{
return null;
}
public byte[] GetBinaryDefaultValue(uint settingId)
{
return null;

View File

@@ -111,6 +111,14 @@ namespace nspector.Common.Meta
return null;
}
public string GetAlternateNames(uint settingId)
{
var setting = customSettings.Settings
.FirstOrDefault(x => x.SettingId.Equals(settingId));
return setting?.AlternateNames;
}
public byte[] GetBinaryDefaultValue(uint settingId)
{
return null;

View File

@@ -201,6 +201,11 @@ namespace nspector.Common.Meta
return null;
}
public string GetAlternateNames(uint settingId)
{
return null;
}
public byte[] GetBinaryDefaultValue(uint settingId)
{
var settingMeta = GetSettingsMeta(settingId);

View File

@@ -16,6 +16,8 @@ namespace nspector.Common.Meta
string GetGroupName(uint settingId);
string GetAlternateNames(uint settingId);
uint? GetDwordDefaultValue(uint settingId);
string GetStringDefaultValue(uint settingId);

View File

@@ -43,6 +43,11 @@ namespace nspector.Common.Meta
return null;
}
public string GetAlternateNames(uint settingId)
{
return null;
}
public uint? GetDwordDefaultValue(uint settingId)
{
return null;

View File

@@ -9,6 +9,8 @@ namespace nspector.Common.Meta
public string GroupName { get; set; }
public string AlternateNames { get; set; }
public string SettingName { get; set; }
public string DefaultStringValue { get; set; }

View File

@@ -21,6 +21,8 @@
public string GroupName { get; set; }
public string AlternateNames { get; set; }
public SettingState State { get; set; }
public bool IsStringValue { get; set; }

View File

@@ -1508,6 +1508,7 @@
<UserfriendlyName>rBAR - Enable</UserfriendlyName>
<HexSettingID>0x000F00BA</HexSettingID>
<GroupName>5 - Common</GroupName>
<AlternateNames>ReBAR - Enable, Resizable Bar - Enable</AlternateNames>
<SettingValues>
<CustomSettingValue>
<UserfriendlyName>Disabled</UserfriendlyName>
@@ -1523,30 +1524,35 @@
<UserfriendlyName>rBAR - Options</UserfriendlyName>
<HexSettingID>0x000F00BB</HexSettingID>
<GroupName>5 - Common</GroupName>
<AlternateNames>ReBAR - Options, Resizable Bar - Options</AlternateNames>
<DataType>DWORD</DataType>
</CustomSetting>
<CustomSetting>
<UserfriendlyName>rBAR - Intel CPU Exclusion</UserfriendlyName>
<HexSettingID>0x00E942FC</HexSettingID>
<GroupName>5 - Common</GroupName>
<AlternateNames>ReBAR - Intel CPU Exclusion, Resizable Bar - Intel CPU Exclusion</AlternateNames>
<DataType>DWORD</DataType>
</CustomSetting>
<CustomSetting>
<UserfriendlyName>rBAR - Size Limit</UserfriendlyName>
<HexSettingID>0x000F00FF</HexSettingID>
<GroupName>5 - Common</GroupName>
<AlternateNames>ReBAR - Size Limit, Resizable Bar - Size Limit</AlternateNames>
<DataType>BINARY</DataType>
</CustomSetting>
<CustomSetting>
<UserfriendlyName>rBAR - Flags (0x000F00BE)</UserfriendlyName>
<HexSettingID>0x000F00BE</HexSettingID>
<GroupName>8 - Extra</GroupName>
<AlternateNames>ReBAR - Flags (0x000F00BE), Resizable Bar - Flags (0x000F00BE)</AlternateNames>
<DataType>DWORD</DataType>
</CustomSetting>
<CustomSetting>
<UserfriendlyName>rBAR - Flags (0x000F00BF)</UserfriendlyName>
<HexSettingID>0x000F00BF</HexSettingID>
<GroupName>8 - Extra</GroupName>
<AlternateNames>ReBAR - Flags (0x000F00BF), Resizable Bar - Flags (0x000F00BF)</AlternateNames>
<DataType>DWORD</DataType>
</CustomSetting>
@@ -8306,6 +8312,7 @@
<UserfriendlyName>Vulkan/OpenGL Present Method - Flags</UserfriendlyName>
<HexSettingID>0x20324987</HexSettingID>
<GroupName>2 - Sync and Refresh</GroupName>
<AlternateNames>OGL_DX_PRESENT_DEBUG</AlternateNames>
<MinRequiredDriverVersion>0</MinRequiredDriverVersion>
<SettingValues>
<CustomSettingValue>

View File

@@ -6439,10 +6439,11 @@
<SettingMasks/>
</CustomSetting>
<CustomSetting>
<UserfriendlyName>PS_CONST_FOLDING_GPU (0x006D6197)</UserfriendlyName>
<UserfriendlyName>PS_CONST_FOLDING_GPU</UserfriendlyName>
<HexSettingID>0x006D6197</HexSettingID>
<Description/>
<GroupName>8 - Extra</GroupName>
<AlternateNames>0x006D6197, 0x6D6197</AlternateNames>
<SettingValues>
<CustomSettingValue>
<UserfriendlyName>0</UserfriendlyName>

View File

@@ -166,8 +166,12 @@ namespace nspector
var item = CreateListViewItem(settingItem);
// Apply search filter if set
if (!string.IsNullOrEmpty(searchFilter) && !item.Text.ToLowerInvariant().Contains(searchFilter))
if (!string.IsNullOrEmpty(searchFilter) &&
!item.Text.ToLowerInvariant().Contains(searchFilter) &&
(settingItem.AlternateNames == null || !settingItem.AlternateNames.ToLower().Contains(searchFilter)))
{
continue;
}
lvSettings.Items.Add(item);
@@ -296,7 +300,11 @@ namespace nspector
var referenceSettings = DrsServiceLocator.ReferenceSettings?.Settings.FirstOrDefault(s => s.SettingId == settingid);
if (string.IsNullOrEmpty(settingMeta.Description) && !(referenceSettings?.HasConstraints ?? false))
var description = settingMeta.Description;
if (!string.IsNullOrEmpty(settingMeta.AlternateNames))
description = $"Alternate names: {settingMeta.AlternateNames}\r\n{description}";
if (string.IsNullOrEmpty(description) && !(referenceSettings?.HasConstraints ?? false))
{
tbSettingDescription.Text = "";
tbSettingDescription.Visible = false;
@@ -304,7 +312,7 @@ namespace nspector
}
else
{
tbSettingDescription.Text = settingMeta.Description;
tbSettingDescription.Text = description;
tbSettingDescription.Visible = true;
tbSettingDescription.BackColor = (referenceSettings?.HasConstraints ?? false) ? Color.LightCoral : SystemColors.Control;
}