Compare commits

..

18 Commits

Author SHA1 Message Date
Orbmu2k
b5a0b0091a #247 temporary fix for 571.96 overflow bug - thanks emoose :) 2025-01-24 16:12:31 +01:00
Orbmu2k
8b6c13216a possible fix for #131 2023-03-26 11:35:33 +02:00
Orbmu2k
3c74a9b5e5 additional invariant culture checks for lower case 2023-03-26 11:30:05 +02:00
Orbmu2k
70c63b1239 possible fix for #128 2023-03-26 11:27:21 +02:00
Orbmu2k
f003324d55 fallback functionIds 2023-03-26 11:25:42 +02:00
Orbmu2k
b9563767ef fixed dpi 2022-11-30 23:22:10 +01:00
Orbmu2k
4c28abefa3 settings rename pt 2 2022-11-26 20:01:21 +01:00
Orbmu2k
76e5d34e24 'Raytracing - (Vulkan RT) enabled' setting added
added support for descriptions in CSN
added setting name filter (CTRL + F) revert with ESCAPE
added devmode view (CTRL + ALT + D)
and some fixes
2022-11-19 22:24:26 +01:00
Orbmu2k
3f1d636fae rBAR options added #75 #103 2022-11-13 21:07:04 +01:00
Orbmu2k
acb5607a6d check CI build v2 2022-11-13 14:05:08 +01:00
Orbmu2k
b6ec45a334 check CI build v1 2022-11-13 14:04:12 +01:00
Orbmu2k
75c99ea6c7 Shadercache - Cachesize added #88
Background Application Max Frame Rate added #79
Disable Ansel setting is back and working #54 #87
Ultra Low Latency setting is back #49
added workaround for some settings throw errors when changed #46 #96 #94
AO High Quality removed from settinngs #101
updated settings to R520 and .NET Framework Version to 4.8 #102
2022-11-13 13:58:24 +01:00
Orbmu2k
5aed1a0051 force some settings to be hidden 2021-02-03 00:18:59 +01:00
Orbmu2k
128efcdb86 create dump for setting store fails 2021-02-02 23:29:47 +01:00
Orbmu2k
d4ce1c9018 updated driver settings to R460, removed deprecated settings from CSN 2021-01-19 01:45:27 +01:00
Orbmu2k
abef5e1eb1 highlight not exposed API settings when debugger is attached 2021-01-16 20:33:45 +01:00
Orbmu2k
c2f71c5d1e R445.75 removed restricted settings to avoid errors 2020-03-24 19:57:27 +01:00
Orbmu2k
a4ea01dfd1 R442.19 - increased limiter v3 range 20..1000 FPS 2020-02-04 20:32:31 +01:00
29 changed files with 7817 additions and 5209 deletions

View File

@@ -15,6 +15,9 @@ namespace nspector.Common.CustomSettings
public string GroupName { get; set; }
public string OverrideDefault { get; set; }
public float MinRequiredDriverVersion { get; set; }
public bool Hidden { get; set; }
public bool HasConstraints { get; set; }
public string DataType { get; set; }
public List<CustomSettingValue> SettingValues { get; set; }

View File

@@ -89,7 +89,7 @@ namespace nspector.Common
private string FormatInternalSettingKey(string profileName, uint settingId)
{
return profileName + settingId.ToString("X8").ToLower();
return profileName + settingId.ToString("X8").ToLowerInvariant();
}
public bool IsInternalSetting(string profileName, uint settingId)

View File

@@ -260,7 +260,15 @@ namespace nspector.Common
if (!alreadySet.Contains(setting.SettingId))
{
var newSetting = ImportExportUitl.ConvertProfileSettingToDrsSetting(setting);
StoreSetting(hSession, hProfile, newSetting);
try
{
StoreSetting(hSession, hProfile, newSetting);
}
catch (NvapiException ex)
{
if (ex.Status != NvAPI_Status.NVAPI_SETTING_NOT_FOUND)
throw;
}
}
}
}

View File

@@ -161,9 +161,8 @@ namespace nspector.Common
private void AddScannedSettingToCache(NVDRS_PROFILE profile, NVDRS_SETTING setting)
{
// Skip 3D Vision string values here for improved scan performance
bool allowAddValue = setting.settingId < 0x70000000 || setting.settingType == NVDRS_SETTING_TYPE.NVDRS_DWORD_TYPE;
// 3D Vision is dead so dont bother scanning those values for improved scan performance
bool allowAddValue = !((setting.settingId & 0x70000000) == 0x70000000);
//bool allowAddValue = true;
var cachedSetting = CachedSettings
@@ -186,6 +185,7 @@ namespace nspector.Common
cachedSetting.AddDwordValue(setting.predefinedValue.dwordValue, profile.profileName);
else if (setting.settingType == NVDRS_SETTING_TYPE.NVDRS_BINARY_TYPE)
cachedSetting.AddBinaryValue(setting.predefinedValue.binaryValue, profile.profileName);
}
else
cachedSetting.ProfileCount++;
@@ -198,7 +198,7 @@ namespace nspector.Common
public string FindProfilesUsingApplication(string applicationName)
{
string lowerApplicationName = applicationName.ToLower();
string lowerApplicationName = applicationName.ToLowerInvariant();
string tmpfile = TempFile.GetTempFileName();
try
@@ -219,7 +219,7 @@ namespace nspector.Common
string scope = m.Result("${scope}");
foreach (Match ms in Regex.Matches(scope, "Executable\\s\\\"(?<app>.*?)\\\"", RegexOptions.Singleline))
{
if (ms.Result("${app}").ToLower() == lowerApplicationName)
if (ms.Result("${app}").ToLowerInvariant() == lowerApplicationName)
{
matchingProfiles.Add(m.Result("${profile}"));
}

View File

@@ -301,12 +301,18 @@ namespace nspector.Common
if (groupName == null)
groupName = GetLegacyGroupName(settingId, settingName);
var result = new SettingMeta()
{
SettingType = settingType,
SettingName = settingName,
GroupName = groupName,
IsApiExposed = GetIsApiExposed(settingId),
IsSettingHidden = GetIsSettingHidden(settingId),
Description = GetDescription(settingId),
DefaultDwordValue =
settingType == NVDRS_SETTING_TYPE.NVDRS_DWORD_TYPE
? GetDwordDefaultValue(settingId) : 0,
@@ -345,6 +351,9 @@ namespace nspector.Common
SettingName = settingMeta.SettingName,
SettingType = settingMeta.SettingType,
GroupName = settingMeta.GroupName,
IsApiExposed = settingMeta.IsApiExposed,
IsSettingHidden = settingMeta.IsSettingHidden,
Description = settingMeta.Description,
};
if (string.IsNullOrEmpty(newMeta.SettingName))
@@ -403,5 +412,27 @@ namespace nspector.Common
return "Other";
}
private bool GetIsApiExposed(uint settingId)
{
var driverMeta = MetaServices.FirstOrDefault(m => m.Service.Source == SettingMetaSource.DriverSettings);
return (driverMeta != null && driverMeta.Service.GetSettingIds().Contains(settingId));
}
private bool GetIsSettingHidden(uint settingId)
{
var csnMeta = MetaServices.FirstOrDefault(m => m.Service.Source == SettingMetaSource.CustomSettings);
return (csnMeta != null && ((CustomSettingMetaService)csnMeta.Service).IsSettingHidden(settingId));
}
private string GetDescription(uint settingId)
{
var csn = MetaServices.FirstOrDefault(m => m.Service.Source == SettingMetaSource.CustomSettings);
var csnDescription = csn != null ? ((CustomSettingMetaService)csn.Service).GetDescription(settingId) ?? "" : "";
var refs = MetaServices.FirstOrDefault(m => m.Service.Source == SettingMetaSource.ReferenceSettings);
var refsDescription = refs != null ? ((CustomSettingMetaService)refs.Service).GetDescription(settingId) ?? "" : "";
return !string.IsNullOrEmpty(csnDescription) ? csnDescription : refsDescription;
}
}
}

View File

@@ -272,6 +272,39 @@ namespace nspector.Common
removeFromModified = tmpRemoveFromModified;
}
public void DeleteValue(string profileName, uint settingId, out bool removeFromModified)
{
var tmpRemoveFromModified = false;
DrsSession((hSession) =>
{
var hProfile = GetProfileHandle(hSession, profileName);
if (hProfile != IntPtr.Zero)
{
int dropCount = 0;
var settings = GetProfileSettings(hSession, hProfile);
foreach (var setting in settings)
{
if (setting.settingId != settingId) continue;
if (setting.settingLocation == NVDRS_SETTING_LOCATION.NVDRS_CURRENT_PROFILE_LOCATION)
{
if (nvw.DRS_DeleteProfileSetting(hSession, hProfile, setting.settingId) == NvAPI_Status.NVAPI_OK)
{
dropCount++;
break;
}
}
}
tmpRemoveFromModified = (dropCount == 0);
SaveSettings(hSession);
}
});
removeFromModified = tmpRemoveFromModified;
}
public uint GetDwordValueFromProfile(string profileName, uint settingId, bool returnDefaultValue = false, bool forceDedicatedScope = false)
{
return DrsSession((hSession) =>
@@ -442,6 +475,8 @@ namespace nspector.Common
ValueText = valueText,
State = settingState,
IsStringValue = settingMeta.SettingType == NVDRS_SETTING_TYPE.NVDRS_WSTRING_TYPE,
IsApiExposed = settingMeta.IsApiExposed,
IsSettingHidden = settingMeta.IsSettingHidden,
};
}
@@ -468,6 +503,8 @@ namespace nspector.Common
foreach (var settingId in settingIds)
{
if (settingId == 0) continue;
var setting = ReadSetting(hSession, hProfile, settingId);
if (setting != null)
result.Add(CreateSettingItem(setting.Value));

View File

@@ -17,7 +17,7 @@ namespace nspector.Common
public static uint ParseDwordByInputSafe(string input)
{
uint result = 0;
if (input.ToLower().StartsWith("0x"))
if (input.ToLowerInvariant().StartsWith("0x"))
{
try
{
@@ -53,7 +53,7 @@ namespace nspector.Common
internal static string ParseStringSettingValue(SettingMeta meta, string text)
{
var valueByName = meta.StringValues.FirstOrDefault(x => x.ValueName != null && x.ValueName.Equals(text));
var valueByName = meta.StringValues?.FirstOrDefault(x => x.ValueName != null && x.ValueName.Equals(text));
if (valueByName != null)
return valueByName.Value;

View File

@@ -8,6 +8,7 @@ namespace nspector.Common.Helper
{
internal class InputBox
{
internal static DialogResult Show(string title, string promptText, ref string value, List<string> invalidInputs, string mandatoryFormatRegExPattern, int maxLength)
{
var form = new Form();
@@ -59,12 +60,12 @@ namespace nspector.Common.Helper
buttonOk.Enabled = false;
label.SetBounds(9, 20, 372, 13);
textBox.SetBounds(12, 36, 352, 20);
buttonOk.SetBounds(228, 72, 75, 23);
buttonCancel.SetBounds(309, 72, 75, 23);
label.SetBounds(Dpi(9), Dpi(20), Dpi(372), Dpi(13));
textBox.SetBounds(Dpi(12), Dpi(36), Dpi(352), Dpi(20));
buttonOk.SetBounds(Dpi(228), Dpi(72), Dpi(75), Dpi(23));
buttonCancel.SetBounds(Dpi(309), Dpi(72), Dpi(75), Dpi(23));
imageBox.SetBounds(368, 36, 16, 16);
imageBox.SetBounds(Dpi(368), Dpi(36), Dpi(16), Dpi(16));
label.AutoSize = true;
imageBox.Anchor = AnchorStyles.Top | AnchorStyles.Right;
@@ -72,9 +73,9 @@ namespace nspector.Common.Helper
buttonOk.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
buttonCancel.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
form.ClientSize = new Size(396, 107);
form.ClientSize = new Size(Dpi(396), Dpi(107));
form.ClientSize = new Size(Math.Max(Dpi(300), label.Right + Dpi(10)), form.ClientSize.Height);
form.Controls.AddRange(new Control[] { label, textBox, imageBox, buttonOk, buttonCancel });
form.ClientSize = new Size(Math.Max(300, label.Right + 10), form.ClientSize.Height);
form.FormBorderStyle = FormBorderStyle.FixedDialog;
form.StartPosition = FormStartPosition.CenterParent;
form.MinimizeBox = false;
@@ -88,5 +89,10 @@ namespace nspector.Common.Helper
value = textBox.Text;
return dialogResult;
}
private static int Dpi(int input)
{
return (int)Math.Round(input * frmDrvSettings.ScaleFactor);
}
}
}

View File

@@ -30,7 +30,7 @@ namespace nspector.Common.Helper
try
{
switch (fileInfo.Extension.ToLower())
switch (fileInfo.Extension.ToLowerInvariant())
{
case ".lnk": return ResolveFromShellLinkFile(fileInfo.FullName);
case ".url": return ResolveFromUrlFile(fileInfo.FullName);
@@ -54,7 +54,7 @@ namespace nspector.Common.Helper
}
var targetInfo = new FileInfo(shellLink.Target);
if (targetInfo.Name.ToLower() == SteamAppResolver.SteamExeName)
if (targetInfo.Name.ToLowerInvariant() == SteamAppResolver.SteamExeName)
{
if (shellLink.Arguments.Contains(SteamAppResolver.SteamArgumentPattern))
{
@@ -63,7 +63,7 @@ namespace nspector.Common.Helper
}
}
if (targetInfo.Extension.ToLower().Equals(".exe"))
if (targetInfo.Extension.ToLowerInvariant().Equals(".exe"))
{
return targetInfo.Name;
}

View File

@@ -41,7 +41,14 @@ namespace nspector.Common.Helper
var filename = GetSettingsFilename();
if (!File.Exists(filename)) return new UserSettings();
return XMLHelper<UserSettings>.DeserializeFromXMLFile(GetSettingsFilename());
try
{
return XMLHelper<UserSettings>.DeserializeFromXMLFile(GetSettingsFilename());
}
catch
{
return new UserSettings();
}
}
}
}

View File

@@ -1,5 +1,6 @@
using nspector.Common.CustomSettings;
using nspector.Native.NVAPI2;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -19,7 +20,26 @@ namespace nspector.Common.Meta
public NVDRS_SETTING_TYPE? GetSettingValueType(uint settingId)
{
return null;
var setting = customSettings.Settings
.FirstOrDefault(x => x.SettingId.Equals(settingId));
return MapType(setting?.DataType);
}
private NVDRS_SETTING_TYPE? MapType(string type)
{
if (string.IsNullOrEmpty(type)) return null;
switch(type.ToLowerInvariant())
{
case "dword":
return NVDRS_SETTING_TYPE.NVDRS_DWORD_TYPE;
case "string":
return NVDRS_SETTING_TYPE.NVDRS_WSTRING_TYPE;
case "binary":
return NVDRS_SETTING_TYPE.NVDRS_BINARY_TYPE;
default: throw new ArgumentOutOfRangeException(type);
}
}
public string GetSettingName(uint settingId)
@@ -101,6 +121,22 @@ namespace nspector.Common.Meta
return null;
}
public bool IsSettingHidden(uint settingId)
{
var setting = customSettings.Settings
.FirstOrDefault(x => x.SettingId.Equals(settingId));
return setting?.Hidden ?? false;
}
public string GetDescription(uint settingId)
{
var setting = customSettings.Settings
.FirstOrDefault(x => x.SettingId.Equals(settingId));
return setting?.Description;
}
public SettingMetaSource Source
{
get { return _source; }

View File

@@ -30,6 +30,11 @@ namespace nspector.Common.Meta
private SettingMeta GetDriverSettingMetaInternal(uint settingId)
{
// temporary fix for 571.96 overflow bug by emoose
if ((settingId & 0xFFFFF000) == 0x10c7d000)
return null;
var values = new NVDRS_SETTING_VALUES();
values.version = nvw.NVDRS_SETTING_VALUES_VER;
uint valueCount = 255;

View File

@@ -17,6 +17,12 @@ namespace nspector.Common.Meta
public byte[] DefaultBinaryValue { get; set; }
public bool IsApiExposed { get; set; }
public bool IsSettingHidden { get; set; }
public string Description { get; set; }
public List<SettingValue<string>> StringValues { get; set; }
public List<SettingValue<uint>> DwordValues { get; set; }

View File

@@ -25,6 +25,10 @@
public bool IsStringValue { get; set; }
public bool IsApiExposed { get; set; }
public bool IsSettingHidden { get; set; }
public override string ToString()
{
return string.Format("{0}; 0x{1:X8}; {2}; {3}; {4};", State, SettingId, SettingText, ValueText, ValueRaw);

View File

File diff suppressed because it is too large Load Diff

View File

File diff suppressed because it is too large Load Diff

View File

File diff suppressed because it is too large Load Diff

View File

@@ -424,13 +424,17 @@ namespace nspector.Native.NVAPI2
}
}
private static void GetDelegate<T>(uint id, out T newDelegate) where T : class
private static void GetDelegate<T>(uint id, out T newDelegate, uint? fallbackId = null) where T : class
{
IntPtr ptr = nvapi_QueryInterface(id);
if (ptr != IntPtr.Zero)
{
newDelegate = Marshal.GetDelegateForFunctionPointer(ptr, typeof(T)) as T;
}
else if (fallbackId.HasValue)
{
GetDelegate(fallbackId.Value, out newDelegate);
}
else
{
newDelegate = null;
@@ -586,13 +590,25 @@ namespace nspector.Native.NVAPI2
public delegate NvAPI_Status DRS_FindApplicationByNameDelegate(IntPtr hSession, [MarshalAs(UnmanagedType.LPWStr, SizeConst = (int)NvapiDrsWrapper.NVAPI_UNICODE_STRING_MAX)]StringBuilder appName, ref IntPtr phProfile, ref NVDRS_APPLICATION_V3 pApplication);
public static readonly DRS_FindApplicationByNameDelegate DRS_FindApplicationByName;
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate NvAPI_Status DRS_SetSettingDelegate(IntPtr hSession, IntPtr hProfile, ref NVDRS_SETTING pSetting);
public static readonly DRS_SetSettingDelegate DRS_SetSetting;
public static NvAPI_Status DRS_SetSetting(IntPtr hSession, IntPtr hProfile, ref NVDRS_SETTING pSetting)
{
return _DRS_SetSetting(hSession, hProfile, ref pSetting, 0, 0);
}
public static NvAPI_Status DRS_GetSetting(IntPtr hSession, IntPtr hProfile, uint settingId, ref NVDRS_SETTING pSetting)
{
uint x = 0;
return _DRS_GetSetting(hSession, hProfile, settingId, ref pSetting, ref x);
}
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate NvAPI_Status DRS_GetSettingDelegate(IntPtr hSession, IntPtr hProfile, uint settingId, ref NVDRS_SETTING pSetting);
public static readonly DRS_GetSettingDelegate DRS_GetSetting;
public delegate NvAPI_Status DRS_SetSettingDelegate(IntPtr hSession, IntPtr hProfile, ref NVDRS_SETTING pSetting, uint x, uint y);
private static readonly DRS_SetSettingDelegate _DRS_SetSetting;
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate NvAPI_Status DRS_GetSettingDelegate(IntPtr hSession, IntPtr hProfile, uint settingId, ref NVDRS_SETTING pSetting, ref uint x);
private static readonly DRS_GetSettingDelegate _DRS_GetSetting;
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
private delegate NvAPI_Status DRS_EnumSettingsDelegate(IntPtr hSession, IntPtr hProfile, uint startIndex, ref uint settingsCount, IntPtr pSetting);
@@ -728,20 +744,19 @@ namespace nspector.Native.NVAPI2
GetDelegate(0xED1F8C69, out DRS_GetApplicationInfo);
GetDelegate(0x7FA2173A, out DRS_EnumApplicationsInternal);
GetDelegate(0xEEE566B2, out DRS_FindApplicationByName);
GetDelegate(0x577DD202, out DRS_SetSetting);
GetDelegate(0x73BF8338, out DRS_GetSetting);
GetDelegate(0xAE3039DA, out DRS_EnumSettingsInternal);
GetDelegate(0xF020614A, out DRS_EnumAvailableSettingIdsInternal);
GetDelegate(0x8A2CF5F5, out _DRS_SetSetting, 0x577DD202);
GetDelegate(0xEA99498D, out _DRS_GetSetting, 0x73BF8338);
GetDelegate(0xCFD6983E, out DRS_EnumSettingsInternal, 0xAE3039DA);
GetDelegate(0xE5DE48E5, out DRS_EnumAvailableSettingIdsInternal, 0xF020614A);
GetDelegate(0x2EC39F90, out DRS_EnumAvailableSettingValuesInternal);
GetDelegate(0xCB7309CD, out DRS_GetSettingIdFromName);
GetDelegate(0xD61CBE6E, out DRS_GetSettingNameFromId);
GetDelegate(0xE4A26362, out DRS_DeleteProfileSetting);
GetDelegate(0x1EB13791, out DRS_GetSettingNameFromId, 0xD61CBE6E);
GetDelegate(0xD20D29DF, out DRS_DeleteProfileSetting, 0xE4A26362);
GetDelegate(0x5927B094, out DRS_RestoreAllDefaults);
GetDelegate(0xFA5F6134, out DRS_RestoreProfileDefault);
GetDelegate(0x53F0381E, out DRS_RestoreProfileDefaultSetting);
GetDelegate(0x7DD5B261, out DRS_RestoreProfileDefaultSetting, 0x53F0381E);
GetDelegate(0xDA8466A0, out DRS_GetBaseProfile);
#endregion
}
}
}

View File

@@ -35,7 +35,7 @@ namespace nspector
if (argFileIndex != -1)
{
if (new FileInfo(args[argFileIndex]).Extension.ToLower() == ".nip")
if (new FileInfo(args[argFileIndex]).Extension.ToLowerInvariant() == ".nip")
{
try
{

View File

@@ -10,7 +10,7 @@ using System.Runtime.InteropServices;
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("NVIDIA Profile Inspector")]
[assembly: AssemblyCopyright("©2020 by Orbmu2k")]
[assembly: AssemblyCopyright("©2022 by Orbmu2k")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
@@ -32,7 +32,7 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("2.3.0.0")]
[assembly: AssemblyFileVersion("2.3.0.0")]
[assembly: AssemblyVersion("2.4.0.1")]
[assembly: AssemblyFileVersion("2.4.0.1")]

View File

@@ -19,7 +19,7 @@ namespace nspector.Properties {
// -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert.
// Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
// mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
public class Resources {
@@ -73,17 +73,19 @@ namespace nspector.Properties {
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
///&lt;CustomSettingNames&gt;
/// &lt;ShowCustomizedSettingNamesOnly&gt;false&lt;/ShowCustomizedSettingNamesOnly&gt;
/// &lt;Settings&gt;
/// &lt;CustomSetting&gt;
/// &lt;UserfriendlyName&gt;NVLINK SLI Mode&lt;/UserfriendlyName&gt;
/// &lt;HexSettingID&gt;0x00A06948&lt;/HexSettingID&gt;
/// &lt;GroupName&gt;6 - SLI&lt;/GroupName&gt;
/// &lt;MinRequiredDriverVersion&gt;410.00&lt;/MinRequiredDriverVersion&gt;
/// &lt;/CustomSetting&gt;
/// &lt;CustomSetting&gt;
/// &lt;UserfriendlyName&gt;Texture filtering - Quality substitution&lt;/UserfriendlyName&gt;
/// [Rest der Zeichenfolge wurde abgeschnitten]&quot;; ähnelt.
/// &lt;CustomSetting&gt;
/// &lt;UserfriendlyName&gt;VRR Support Indicator&lt;/UserfriendlyName&gt;
/// &lt;HexSettingID&gt;0x8df510&lt;/HexSettingID&gt;
/// &lt;GroupName&gt;2 - Sync and Refresh&lt;/GroupName&gt;
/// &lt;SettingValues&gt;
/// &lt;CustomSettingValue&gt;
/// &lt;UserfriendlyName&gt;Off&lt;/UserfriendlyName&gt;
/// &lt;HexValue&gt;0x00000000&lt;/HexValue&gt;
/// &lt;/CustomSettingValue&gt;
/// &lt;CustomSettingValue&gt;
/// &lt;UserfriendlyName&gt;On&lt;/UserfriendlyName&gt;
/// &lt;HexValue&gt;0x0000000 [Rest der Zeichenfolge wurde abgeschnitten]&quot;; ähnelt.
/// </summary>
public static string CustomSettingNames {
get {

3
nspector/app.config Normal file
View File

@@ -0,0 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/></startup></configuration>

View File

@@ -49,10 +49,10 @@
// btnClose
//
this.btnClose.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btnClose.Location = new System.Drawing.Point(914, 806);
this.btnClose.Margin = new System.Windows.Forms.Padding(4);
this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnClose.Location = new System.Drawing.Point(731, 645);
this.btnClose.Name = "btnClose";
this.btnClose.Size = new System.Drawing.Size(132, 29);
this.btnClose.Size = new System.Drawing.Size(106, 23);
this.btnClose.TabIndex = 1;
this.btnClose.Text = "Apply && Close";
this.btnClose.UseVisualStyleBackColor = true;
@@ -62,10 +62,9 @@
//
this.lValue.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.lValue.AutoSize = true;
this.lValue.Location = new System.Drawing.Point(21, 813);
this.lValue.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.lValue.Location = new System.Drawing.Point(17, 650);
this.lValue.Name = "lValue";
this.lValue.Size = new System.Drawing.Size(48, 17);
this.lValue.Size = new System.Drawing.Size(37, 13);
this.lValue.TabIndex = 2;
this.lValue.Text = "Value:";
//
@@ -73,10 +72,9 @@
//
this.lFilter.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.lFilter.AutoSize = true;
this.lFilter.Location = new System.Drawing.Point(187, 813);
this.lFilter.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.lFilter.Location = new System.Drawing.Point(150, 650);
this.lFilter.Name = "lFilter";
this.lFilter.Size = new System.Drawing.Size(87, 17);
this.lFilter.Size = new System.Drawing.Size(64, 13);
this.lFilter.TabIndex = 23;
this.lFilter.Text = "Profile Filter:";
//
@@ -84,20 +82,18 @@
//
this.tbFilter.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.tbFilter.Location = new System.Drawing.Point(274, 809);
this.tbFilter.Margin = new System.Windows.Forms.Padding(4);
this.tbFilter.Location = new System.Drawing.Point(219, 647);
this.tbFilter.Name = "tbFilter";
this.tbFilter.Size = new System.Drawing.Size(632, 22);
this.tbFilter.Size = new System.Drawing.Size(506, 20);
this.tbFilter.TabIndex = 24;
this.tbFilter.TextChanged += new System.EventHandler(this.tbFilter_TextChanged);
//
// textBox1
//
this.textBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.textBox1.Location = new System.Drawing.Point(74, 809);
this.textBox1.Margin = new System.Windows.Forms.Padding(4);
this.textBox1.Location = new System.Drawing.Point(59, 647);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(86, 22);
this.textBox1.Size = new System.Drawing.Size(70, 20);
this.textBox1.TabIndex = 31;
this.textBox1.Text = "0x00FF00FF";
this.textBox1.Leave += new System.EventHandler(this.textBox1_Leave);
@@ -106,10 +102,9 @@
// btnDirectApplyStart
//
this.btnDirectApplyStart.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.btnDirectApplyStart.Location = new System.Drawing.Point(6, 19);
this.btnDirectApplyStart.Margin = new System.Windows.Forms.Padding(4);
this.btnDirectApplyStart.Location = new System.Drawing.Point(5, 15);
this.btnDirectApplyStart.Name = "btnDirectApplyStart";
this.btnDirectApplyStart.Size = new System.Drawing.Size(105, 42);
this.btnDirectApplyStart.Size = new System.Drawing.Size(84, 34);
this.btnDirectApplyStart.TabIndex = 32;
this.btnDirectApplyStart.Text = "GO!";
this.btnDirectApplyStart.UseVisualStyleBackColor = true;
@@ -123,11 +118,9 @@
this.gbDirectTest.Controls.Add(this.tbGamePath);
this.gbDirectTest.Controls.Add(this.lblGamePath);
this.gbDirectTest.Controls.Add(this.btnDirectApplyStart);
this.gbDirectTest.Location = new System.Drawing.Point(18, 733);
this.gbDirectTest.Margin = new System.Windows.Forms.Padding(4);
this.gbDirectTest.Location = new System.Drawing.Point(14, 586);
this.gbDirectTest.Name = "gbDirectTest";
this.gbDirectTest.Padding = new System.Windows.Forms.Padding(4);
this.gbDirectTest.Size = new System.Drawing.Size(1029, 66);
this.gbDirectTest.Size = new System.Drawing.Size(823, 53);
this.gbDirectTest.TabIndex = 33;
this.gbDirectTest.TabStop = false;
this.gbDirectTest.Text = "Quick Bit Value Tester (stores this setting value to the current profile and imme" +
@@ -136,10 +129,9 @@
// btnBrowseGame
//
this.btnBrowseGame.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.btnBrowseGame.Location = new System.Drawing.Point(971, 24);
this.btnBrowseGame.Margin = new System.Windows.Forms.Padding(4);
this.btnBrowseGame.Location = new System.Drawing.Point(777, 19);
this.btnBrowseGame.Name = "btnBrowseGame";
this.btnBrowseGame.Size = new System.Drawing.Size(41, 29);
this.btnBrowseGame.Size = new System.Drawing.Size(33, 23);
this.btnBrowseGame.TabIndex = 35;
this.btnBrowseGame.Text = "...";
this.btnBrowseGame.UseVisualStyleBackColor = true;
@@ -149,19 +141,17 @@
//
this.tbGamePath.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.tbGamePath.Location = new System.Drawing.Point(218, 26);
this.tbGamePath.Margin = new System.Windows.Forms.Padding(4);
this.tbGamePath.Location = new System.Drawing.Point(174, 21);
this.tbGamePath.Name = "tbGamePath";
this.tbGamePath.Size = new System.Drawing.Size(745, 22);
this.tbGamePath.Size = new System.Drawing.Size(597, 20);
this.tbGamePath.TabIndex = 34;
//
// lblGamePath
//
this.lblGamePath.AutoSize = true;
this.lblGamePath.Location = new System.Drawing.Point(119, 29);
this.lblGamePath.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.lblGamePath.Location = new System.Drawing.Point(95, 23);
this.lblGamePath.Name = "lblGamePath";
this.lblGamePath.Size = new System.Drawing.Size(98, 17);
this.lblGamePath.Size = new System.Drawing.Size(73, 13);
this.lblGamePath.TabIndex = 33;
this.lblGamePath.Text = "Game to start:";
//
@@ -179,11 +169,13 @@
this.clbBits.FullRowSelect = true;
this.clbBits.GridLines = true;
this.clbBits.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
this.clbBits.Location = new System.Drawing.Point(12, 12);
this.clbBits.HideSelection = false;
this.clbBits.Location = new System.Drawing.Point(10, 10);
this.clbBits.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.clbBits.MultiSelect = false;
this.clbBits.Name = "clbBits";
this.clbBits.ShowGroups = false;
this.clbBits.Size = new System.Drawing.Size(1035, 714);
this.clbBits.Size = new System.Drawing.Size(829, 572);
this.clbBits.TabIndex = 34;
this.clbBits.UseCompatibleStateImageBehavior = false;
this.clbBits.View = System.Windows.Forms.View.Details;
@@ -209,9 +201,9 @@
//
// frmBitEditor
//
this.AutoScaleDimensions = new System.Drawing.SizeF(120F, 120F);
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
this.ClientSize = new System.Drawing.Size(1059, 847);
this.ClientSize = new System.Drawing.Size(847, 678);
this.Controls.Add(this.clbBits);
this.Controls.Add(this.gbDirectTest);
this.Controls.Add(this.textBox1);
@@ -220,8 +212,7 @@
this.Controls.Add(this.lValue);
this.Controls.Add(this.btnClose);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow;
this.Margin = new System.Windows.Forms.Padding(4);
this.MinimumSize = new System.Drawing.Size(854, 609);
this.MinimumSize = new System.Drawing.Size(686, 495);
this.Name = "frmBitEditor";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Bit Value Editor";

View File

@@ -52,12 +52,14 @@ namespace nspector
var referenceSettings = DrsServiceLocator.ReferenceSettings?.Settings.FirstOrDefault(s => s.SettingId == _Settingid);
var settingsCache = DrsServiceLocator.ScannerService.CachedSettings.FirstOrDefault(x => x.SettingId == _Settingid);
if (settingsCache != null)
for (int bit = 0; bit < 32; bit++)
{
for (int bit = 0; bit < 32; bit++)
string profileNames = "";
uint profileCount = 0;
if (settingsCache != null)
{
string profileNames = "";
uint profileCount = 0;
for (int i = 0; i < settingsCache.SettingValues.Count; i++)
{
@@ -74,7 +76,7 @@ namespace nspector
{
for (int f = 0; f < filters.Length; f++)
{
if (settingProfileNames[p].ToLower().Contains(filters[f].ToLower()))
if (settingProfileNames[p].ToLowerInvariant().Contains(filters[f].ToLower()))
{
profileNames += settingProfileNames[p] + ",";
}
@@ -84,31 +86,32 @@ namespace nspector
profileCount += settingsCache.SettingValues[i].ValueProfileCount;
}
}
uint mask = (uint)1 << bit;
string maskStr="";
if (referenceSettings != null)
}
uint mask = (uint)1 << bit;
string maskStr = "";
if (referenceSettings != null)
{
var maskValue = referenceSettings.SettingValues.FirstOrDefault(v => v.SettingValue == mask);
if (maskValue != null)
{
var maskValue = referenceSettings.SettingValues.FirstOrDefault(v => v.SettingValue == mask);
if (maskValue != null)
maskStr = maskValue.UserfriendlyName;
if (maskStr.Contains("("))
{
maskStr = maskValue.UserfriendlyName;
if (maskStr.Contains("("))
{
maskStr = maskStr.Substring(0, maskStr.IndexOf("(") - 1);
}
maskStr = maskStr.Substring(0, maskStr.IndexOf("(") - 1);
}
}
}
clbBits.Items.Add(new ListViewItem(new string[] {
clbBits.Items.Add(new ListViewItem(new string[] {
string.Format("#{0:00}",bit),
maskStr,
profileCount.ToString(),
profileNames,
}));
}
}
SetValue(lastValue);

View File

@@ -75,7 +75,10 @@
this.chSettingID = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.chSettingValue = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.chSettingValueHex = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.tbSettingDescription = new System.Windows.Forms.TextBox();
this.pnlListview = new System.Windows.Forms.Panel();
this.tsMain.SuspendLayout();
this.pnlListview.SuspendLayout();
this.SuspendLayout();
//
// ilListView
@@ -91,10 +94,10 @@
//
this.pbMain.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.pbMain.Location = new System.Drawing.Point(16, 585);
this.pbMain.Margin = new System.Windows.Forms.Padding(5);
this.pbMain.Location = new System.Drawing.Point(12, 475);
this.pbMain.Margin = new System.Windows.Forms.Padding(4);
this.pbMain.Name = "pbMain";
this.pbMain.Size = new System.Drawing.Size(1120, 11);
this.pbMain.Size = new System.Drawing.Size(840, 9);
this.pbMain.TabIndex = 19;
//
// tsMain
@@ -132,10 +135,10 @@
this.tsSep6,
this.tsbApplyProfile});
this.tsMain.LayoutStyle = System.Windows.Forms.ToolStripLayoutStyle.HorizontalStackWithOverflow;
this.tsMain.Location = new System.Drawing.Point(16, 5);
this.tsMain.Location = new System.Drawing.Point(12, 4);
this.tsMain.Name = "tsMain";
this.tsMain.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional;
this.tsMain.Size = new System.Drawing.Size(1120, 31);
this.tsMain.Size = new System.Drawing.Size(840, 25);
this.tsMain.TabIndex = 24;
this.tsMain.Text = "toolStrip1";
//
@@ -144,7 +147,7 @@
this.tslProfiles.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
this.tslProfiles.Margin = new System.Windows.Forms.Padding(0, 5, 10, 2);
this.tslProfiles.Name = "tslProfiles";
this.tslProfiles.Size = new System.Drawing.Size(61, 24);
this.tslProfiles.Size = new System.Drawing.Size(49, 18);
this.tslProfiles.Text = "Profiles:";
//
// cbProfiles
@@ -156,7 +159,7 @@
this.cbProfiles.Margin = new System.Windows.Forms.Padding(1);
this.cbProfiles.MaxDropDownItems = 50;
this.cbProfiles.Name = "cbProfiles";
this.cbProfiles.Size = new System.Drawing.Size(385, 28);
this.cbProfiles.Size = new System.Drawing.Size(290, 23);
this.cbProfiles.SelectedIndexChanged += new System.EventHandler(this.cbProfiles_SelectedIndexChanged);
this.cbProfiles.TextChanged += new System.EventHandler(this.cbProfiles_TextChanged);
//
@@ -167,7 +170,7 @@
this.tsbModifiedProfiles.Image = global::nspector.Properties.Resources.home_sm;
this.tsbModifiedProfiles.ImageTransparentColor = System.Drawing.Color.Magenta;
this.tsbModifiedProfiles.Name = "tsbModifiedProfiles";
this.tsbModifiedProfiles.Size = new System.Drawing.Size(39, 28);
this.tsbModifiedProfiles.Size = new System.Drawing.Size(36, 22);
this.tsbModifiedProfiles.TextImageRelation = System.Windows.Forms.TextImageRelation.Overlay;
this.tsbModifiedProfiles.ToolTipText = "Back to global profile (Home) / User modified profiles";
this.tsbModifiedProfiles.ButtonClick += new System.EventHandler(this.tsbModifiedProfiles_ButtonClick);
@@ -176,7 +179,7 @@
// toolStripSeparator1
//
this.toolStripSeparator1.Name = "toolStripSeparator1";
this.toolStripSeparator1.Size = new System.Drawing.Size(6, 31);
this.toolStripSeparator1.Size = new System.Drawing.Size(6, 25);
//
// tsbRefreshProfile
//
@@ -184,7 +187,7 @@
this.tsbRefreshProfile.Image = ((System.Drawing.Image)(resources.GetObject("tsbRefreshProfile.Image")));
this.tsbRefreshProfile.ImageTransparentColor = System.Drawing.Color.Magenta;
this.tsbRefreshProfile.Name = "tsbRefreshProfile";
this.tsbRefreshProfile.Size = new System.Drawing.Size(24, 28);
this.tsbRefreshProfile.Size = new System.Drawing.Size(24, 22);
this.tsbRefreshProfile.Text = "Refresh current profile.";
this.tsbRefreshProfile.Click += new System.EventHandler(this.tsbRefreshProfile_Click);
//
@@ -194,7 +197,7 @@
this.tsbRestoreProfile.Image = ((System.Drawing.Image)(resources.GetObject("tsbRestoreProfile.Image")));
this.tsbRestoreProfile.ImageTransparentColor = System.Drawing.Color.Magenta;
this.tsbRestoreProfile.Name = "tsbRestoreProfile";
this.tsbRestoreProfile.Size = new System.Drawing.Size(24, 28);
this.tsbRestoreProfile.Size = new System.Drawing.Size(24, 22);
this.tsbRestoreProfile.Text = "Restore current profile to NVIDIA defaults.";
this.tsbRestoreProfile.Click += new System.EventHandler(this.tsbRestoreProfile_Click);
//
@@ -204,7 +207,7 @@
this.tsbCreateProfile.Image = ((System.Drawing.Image)(resources.GetObject("tsbCreateProfile.Image")));
this.tsbCreateProfile.ImageTransparentColor = System.Drawing.Color.Magenta;
this.tsbCreateProfile.Name = "tsbCreateProfile";
this.tsbCreateProfile.Size = new System.Drawing.Size(24, 28);
this.tsbCreateProfile.Size = new System.Drawing.Size(24, 22);
this.tsbCreateProfile.Text = "Create new profile";
this.tsbCreateProfile.Click += new System.EventHandler(this.tsbCreateProfile_Click);
//
@@ -214,14 +217,14 @@
this.tsbDeleteProfile.Image = global::nspector.Properties.Resources.ieframe_1_18212;
this.tsbDeleteProfile.ImageTransparentColor = System.Drawing.Color.Magenta;
this.tsbDeleteProfile.Name = "tsbDeleteProfile";
this.tsbDeleteProfile.Size = new System.Drawing.Size(24, 28);
this.tsbDeleteProfile.Size = new System.Drawing.Size(24, 22);
this.tsbDeleteProfile.Text = "Delete current Profile";
this.tsbDeleteProfile.Click += new System.EventHandler(this.tsbDeleteProfile_Click);
//
// tsSep2
//
this.tsSep2.Name = "tsSep2";
this.tsSep2.Size = new System.Drawing.Size(6, 31);
this.tsSep2.Size = new System.Drawing.Size(6, 25);
//
// tsbAddApplication
//
@@ -229,7 +232,7 @@
this.tsbAddApplication.Image = global::nspector.Properties.Resources.window_application_add;
this.tsbAddApplication.ImageTransparentColor = System.Drawing.Color.Magenta;
this.tsbAddApplication.Name = "tsbAddApplication";
this.tsbAddApplication.Size = new System.Drawing.Size(24, 28);
this.tsbAddApplication.Size = new System.Drawing.Size(24, 22);
this.tsbAddApplication.Text = "Add application to current profile.";
this.tsbAddApplication.Click += new System.EventHandler(this.tsbAddApplication_Click);
//
@@ -239,7 +242,7 @@
this.tssbRemoveApplication.Image = global::nspector.Properties.Resources.window_application_delete;
this.tssbRemoveApplication.ImageTransparentColor = System.Drawing.Color.Magenta;
this.tssbRemoveApplication.Name = "tssbRemoveApplication";
this.tssbRemoveApplication.Size = new System.Drawing.Size(39, 28);
this.tssbRemoveApplication.Size = new System.Drawing.Size(36, 22);
this.tssbRemoveApplication.Text = "Remove application from current profile";
this.tssbRemoveApplication.DropDownItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.tssbRemoveApplication_DropDownItemClicked);
this.tssbRemoveApplication.Click += new System.EventHandler(this.tssbRemoveApplication_Click);
@@ -247,7 +250,7 @@
// tsSep3
//
this.tsSep3.Name = "tsSep3";
this.tsSep3.Size = new System.Drawing.Size(6, 31);
this.tsSep3.Size = new System.Drawing.Size(6, 25);
//
// tsbExportProfiles
//
@@ -260,35 +263,35 @@
this.tsbExportProfiles.Image = global::nspector.Properties.Resources.export1;
this.tsbExportProfiles.ImageTransparentColor = System.Drawing.Color.Magenta;
this.tsbExportProfiles.Name = "tsbExportProfiles";
this.tsbExportProfiles.Size = new System.Drawing.Size(39, 28);
this.tsbExportProfiles.Size = new System.Drawing.Size(36, 22);
this.tsbExportProfiles.Text = "Export user defined profiles";
this.tsbExportProfiles.Click += new System.EventHandler(this.tsbExportProfiles_Click);
//
// exportCurrentProfileOnlyToolStripMenuItem
//
this.exportCurrentProfileOnlyToolStripMenuItem.Name = "exportCurrentProfileOnlyToolStripMenuItem";
this.exportCurrentProfileOnlyToolStripMenuItem.Size = new System.Drawing.Size(422, 26);
this.exportCurrentProfileOnlyToolStripMenuItem.Size = new System.Drawing.Size(343, 22);
this.exportCurrentProfileOnlyToolStripMenuItem.Text = "Export current profile only";
this.exportCurrentProfileOnlyToolStripMenuItem.Click += new System.EventHandler(this.exportCurrentProfileOnlyToolStripMenuItem_Click);
//
// exportCurrentProfileIncludingPredefinedSettingsToolStripMenuItem
//
this.exportCurrentProfileIncludingPredefinedSettingsToolStripMenuItem.Name = "exportCurrentProfileIncludingPredefinedSettingsToolStripMenuItem";
this.exportCurrentProfileIncludingPredefinedSettingsToolStripMenuItem.Size = new System.Drawing.Size(422, 26);
this.exportCurrentProfileIncludingPredefinedSettingsToolStripMenuItem.Size = new System.Drawing.Size(343, 22);
this.exportCurrentProfileIncludingPredefinedSettingsToolStripMenuItem.Text = "Export current profile including predefined settings";
this.exportCurrentProfileIncludingPredefinedSettingsToolStripMenuItem.Click += new System.EventHandler(this.exportCurrentProfileIncludingPredefinedSettingsToolStripMenuItem_Click);
//
// exportUserdefinedProfilesToolStripMenuItem
//
this.exportUserdefinedProfilesToolStripMenuItem.Name = "exportUserdefinedProfilesToolStripMenuItem";
this.exportUserdefinedProfilesToolStripMenuItem.Size = new System.Drawing.Size(422, 26);
this.exportUserdefinedProfilesToolStripMenuItem.Size = new System.Drawing.Size(343, 22);
this.exportUserdefinedProfilesToolStripMenuItem.Text = "Export all customized profiles";
this.exportUserdefinedProfilesToolStripMenuItem.Click += new System.EventHandler(this.exportUserdefinedProfilesToolStripMenuItem_Click);
//
// exportAllProfilesNVIDIATextFormatToolStripMenuItem
//
this.exportAllProfilesNVIDIATextFormatToolStripMenuItem.Name = "exportAllProfilesNVIDIATextFormatToolStripMenuItem";
this.exportAllProfilesNVIDIATextFormatToolStripMenuItem.Size = new System.Drawing.Size(422, 26);
this.exportAllProfilesNVIDIATextFormatToolStripMenuItem.Size = new System.Drawing.Size(343, 22);
this.exportAllProfilesNVIDIATextFormatToolStripMenuItem.Text = "Export all driver profiles (NVIDIA Text Format)";
this.exportAllProfilesNVIDIATextFormatToolStripMenuItem.Click += new System.EventHandler(this.exportAllProfilesNVIDIATextFormatToolStripMenuItem_Click);
//
@@ -301,28 +304,28 @@
this.tsbImportProfiles.Image = global::nspector.Properties.Resources.import1;
this.tsbImportProfiles.ImageTransparentColor = System.Drawing.Color.Magenta;
this.tsbImportProfiles.Name = "tsbImportProfiles";
this.tsbImportProfiles.Size = new System.Drawing.Size(39, 28);
this.tsbImportProfiles.Size = new System.Drawing.Size(36, 22);
this.tsbImportProfiles.Text = "Import user defined profiles";
this.tsbImportProfiles.Click += new System.EventHandler(this.tsbImportProfiles_Click);
//
// importProfilesToolStripMenuItem
//
this.importProfilesToolStripMenuItem.Name = "importProfilesToolStripMenuItem";
this.importProfilesToolStripMenuItem.Size = new System.Drawing.Size(453, 26);
this.importProfilesToolStripMenuItem.Size = new System.Drawing.Size(363, 22);
this.importProfilesToolStripMenuItem.Text = "Import profile(s)";
this.importProfilesToolStripMenuItem.Click += new System.EventHandler(this.importProfilesToolStripMenuItem_Click);
//
// importAllProfilesNVIDIATextFormatToolStripMenuItem
//
this.importAllProfilesNVIDIATextFormatToolStripMenuItem.Name = "importAllProfilesNVIDIATextFormatToolStripMenuItem";
this.importAllProfilesNVIDIATextFormatToolStripMenuItem.Size = new System.Drawing.Size(453, 26);
this.importAllProfilesNVIDIATextFormatToolStripMenuItem.Size = new System.Drawing.Size(363, 22);
this.importAllProfilesNVIDIATextFormatToolStripMenuItem.Text = "Import (replace) all driver profiles (NVIDIA Text Format)";
this.importAllProfilesNVIDIATextFormatToolStripMenuItem.Click += new System.EventHandler(this.importAllProfilesNVIDIATextFormatToolStripMenuItem_Click);
//
// tsSep4
//
this.tsSep4.Name = "tsSep4";
this.tsSep4.Size = new System.Drawing.Size(6, 31);
this.tsSep4.Size = new System.Drawing.Size(6, 25);
//
// tscbShowCustomSettingNamesOnly
//
@@ -331,14 +334,14 @@
this.tscbShowCustomSettingNamesOnly.Image = global::nspector.Properties.Resources.filter_user;
this.tscbShowCustomSettingNamesOnly.ImageTransparentColor = System.Drawing.Color.Magenta;
this.tscbShowCustomSettingNamesOnly.Name = "tscbShowCustomSettingNamesOnly";
this.tscbShowCustomSettingNamesOnly.Size = new System.Drawing.Size(24, 28);
this.tscbShowCustomSettingNamesOnly.Size = new System.Drawing.Size(24, 22);
this.tscbShowCustomSettingNamesOnly.Text = "Show the settings and values from CustomSettingNames file only.";
this.tscbShowCustomSettingNamesOnly.CheckedChanged += new System.EventHandler(this.cbCustomSettingsOnly_CheckedChanged);
//
// tsSep5
//
this.tsSep5.Name = "tsSep5";
this.tsSep5.Size = new System.Drawing.Size(6, 31);
this.tsSep5.Size = new System.Drawing.Size(6, 25);
//
// tscbShowScannedUnknownSettings
//
@@ -348,7 +351,7 @@
this.tscbShowScannedUnknownSettings.Image = global::nspector.Properties.Resources.find_set2;
this.tscbShowScannedUnknownSettings.ImageTransparentColor = System.Drawing.Color.Magenta;
this.tscbShowScannedUnknownSettings.Name = "tscbShowScannedUnknownSettings";
this.tscbShowScannedUnknownSettings.Size = new System.Drawing.Size(24, 28);
this.tscbShowScannedUnknownSettings.Size = new System.Drawing.Size(24, 22);
this.tscbShowScannedUnknownSettings.Text = "Show unknown settings from NVIDIA predefined profiles";
this.tscbShowScannedUnknownSettings.Click += new System.EventHandler(this.tscbShowScannedUnknownSettings_Click);
//
@@ -358,14 +361,14 @@
this.tsbBitValueEditor.Image = global::nspector.Properties.Resources.text_binary;
this.tsbBitValueEditor.ImageTransparentColor = System.Drawing.Color.Magenta;
this.tsbBitValueEditor.Name = "tsbBitValueEditor";
this.tsbBitValueEditor.Size = new System.Drawing.Size(24, 28);
this.tsbBitValueEditor.Size = new System.Drawing.Size(24, 22);
this.tsbBitValueEditor.Text = "Show bit value editor.";
this.tsbBitValueEditor.Click += new System.EventHandler(this.tsbBitValueEditor_Click);
//
// tsSep6
//
this.tsSep6.Name = "tsSep6";
this.tsSep6.Size = new System.Drawing.Size(6, 31);
this.tsSep6.Size = new System.Drawing.Size(6, 25);
//
// tsbApplyProfile
//
@@ -374,7 +377,7 @@
this.tsbApplyProfile.ImageTransparentColor = System.Drawing.Color.Magenta;
this.tsbApplyProfile.Name = "tsbApplyProfile";
this.tsbApplyProfile.Overflow = System.Windows.Forms.ToolStripItemOverflow.Never;
this.tsbApplyProfile.Size = new System.Drawing.Size(130, 28);
this.tsbApplyProfile.Size = new System.Drawing.Size(109, 22);
this.tsbApplyProfile.Text = "Apply changes";
this.tsbApplyProfile.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
this.tsbApplyProfile.Click += new System.EventHandler(this.tsbApplyProfile_Click);
@@ -384,10 +387,10 @@
this.btnResetValue.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.btnResetValue.Enabled = false;
this.btnResetValue.Image = global::nspector.Properties.Resources.nv_btn;
this.btnResetValue.Location = new System.Drawing.Point(976, 215);
this.btnResetValue.Location = new System.Drawing.Point(732, 175);
this.btnResetValue.Margin = new System.Windows.Forms.Padding(0, 1, 0, 0);
this.btnResetValue.Name = "btnResetValue";
this.btnResetValue.Size = new System.Drawing.Size(33, 23);
this.btnResetValue.Size = new System.Drawing.Size(25, 19);
this.btnResetValue.TabIndex = 7;
this.btnResetValue.UseVisualStyleBackColor = true;
this.btnResetValue.Click += new System.EventHandler(this.btnResetValue_Click);
@@ -399,10 +402,10 @@
this.lblApplications.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(118)))), ((int)(((byte)(185)))), ((int)(((byte)(0)))));
this.lblApplications.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.lblApplications.ForeColor = System.Drawing.Color.White;
this.lblApplications.Location = new System.Drawing.Point(16, 39);
this.lblApplications.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
this.lblApplications.Location = new System.Drawing.Point(12, 32);
this.lblApplications.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.lblApplications.Name = "lblApplications";
this.lblApplications.Size = new System.Drawing.Size(1120, 21);
this.lblApplications.Size = new System.Drawing.Size(840, 17);
this.lblApplications.TabIndex = 25;
this.lblApplications.Text = "fsagame.exe, bond.exe, herozero.exe";
//
@@ -440,10 +443,10 @@
//
this.cbValues.BackColor = System.Drawing.SystemColors.Window;
this.cbValues.FormattingEnabled = true;
this.cbValues.Location = new System.Drawing.Point(699, 215);
this.cbValues.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
this.cbValues.Location = new System.Drawing.Point(524, 175);
this.cbValues.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.cbValues.Name = "cbValues";
this.cbValues.Size = new System.Drawing.Size(95, 24);
this.cbValues.Size = new System.Drawing.Size(72, 21);
this.cbValues.TabIndex = 5;
this.cbValues.Visible = false;
this.cbValues.SelectedValueChanged += new System.EventHandler(this.cbValues_SelectedValueChanged);
@@ -451,62 +454,61 @@
//
// lblWidth96
//
this.lblWidth96.Location = new System.Drawing.Point(103, 287);
this.lblWidth96.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
this.lblWidth96.Location = new System.Drawing.Point(77, 233);
this.lblWidth96.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.lblWidth96.Name = "lblWidth96";
this.lblWidth96.Size = new System.Drawing.Size(128, 22);
this.lblWidth96.Size = new System.Drawing.Size(96, 18);
this.lblWidth96.TabIndex = 77;
this.lblWidth96.Text = "96";
this.lblWidth96.Visible = false;
//
// lblWidth330
//
this.lblWidth330.Location = new System.Drawing.Point(103, 258);
this.lblWidth330.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
this.lblWidth330.Location = new System.Drawing.Point(77, 210);
this.lblWidth330.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.lblWidth330.Name = "lblWidth330";
this.lblWidth330.Size = new System.Drawing.Size(440, 27);
this.lblWidth330.Size = new System.Drawing.Size(330, 22);
this.lblWidth330.TabIndex = 78;
this.lblWidth330.Text = "330 (Helper Labels for DPI Scaling)";
this.lblWidth330.Visible = false;
//
// lblWidth16
//
this.lblWidth16.Location = new System.Drawing.Point(103, 331);
this.lblWidth16.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
this.lblWidth16.Location = new System.Drawing.Point(77, 269);
this.lblWidth16.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.lblWidth16.Name = "lblWidth16";
this.lblWidth16.Size = new System.Drawing.Size(21, 22);
this.lblWidth16.Size = new System.Drawing.Size(16, 18);
this.lblWidth16.TabIndex = 79;
this.lblWidth16.Text = "16";
this.lblWidth16.Visible = false;
//
// lblWidth30
//
this.lblWidth30.Location = new System.Drawing.Point(103, 309);
this.lblWidth30.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
this.lblWidth30.Location = new System.Drawing.Point(77, 251);
this.lblWidth30.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.lblWidth30.Name = "lblWidth30";
this.lblWidth30.Size = new System.Drawing.Size(40, 22);
this.lblWidth30.Size = new System.Drawing.Size(30, 18);
this.lblWidth30.TabIndex = 80;
this.lblWidth30.Text = "30";
this.lblWidth30.Visible = false;
//
// lvSettings
//
this.lvSettings.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.lvSettings.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.chSettingID,
this.chSettingValue,
this.chSettingValueHex});
this.lvSettings.Dock = System.Windows.Forms.DockStyle.Fill;
this.lvSettings.FullRowSelect = true;
this.lvSettings.GridLines = true;
this.lvSettings.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None;
this.lvSettings.Location = new System.Drawing.Point(16, 63);
this.lvSettings.Margin = new System.Windows.Forms.Padding(5);
this.lvSettings.HideSelection = false;
this.lvSettings.Location = new System.Drawing.Point(0, 0);
this.lvSettings.Margin = new System.Windows.Forms.Padding(4);
this.lvSettings.MultiSelect = false;
this.lvSettings.Name = "lvSettings";
this.lvSettings.ShowItemToolTips = true;
this.lvSettings.Size = new System.Drawing.Size(1119, 514);
this.lvSettings.Size = new System.Drawing.Size(840, 372);
this.lvSettings.SmallImageList = this.ilListView;
this.lvSettings.TabIndex = 2;
this.lvSettings.UseCompatibleStateImageBehavior = false;
@@ -514,8 +516,8 @@
this.lvSettings.ColumnWidthChanging += new System.Windows.Forms.ColumnWidthChangingEventHandler(this.lvSettings_ColumnWidthChanging);
this.lvSettings.SelectedIndexChanged += new System.EventHandler(this.lvSettings_SelectedIndexChanged);
this.lvSettings.DoubleClick += new System.EventHandler(this.lvSettings_DoubleClick);
this.lvSettings.Resize += new System.EventHandler(this.lvSettings_Resize);
this.lvSettings.KeyDown += new System.Windows.Forms.KeyEventHandler(this.lvSettings_KeyDown);
this.lvSettings.Resize += new System.EventHandler(this.lvSettings_Resize);
//
// chSettingID
//
@@ -532,23 +534,47 @@
this.chSettingValueHex.Text = "SettingValueHex";
this.chSettingValueHex.Width = 96;
//
// tbSettingDescription
//
this.tbSettingDescription.Dock = System.Windows.Forms.DockStyle.Bottom;
this.tbSettingDescription.Location = new System.Drawing.Point(0, 372);
this.tbSettingDescription.Multiline = true;
this.tbSettingDescription.Name = "tbSettingDescription";
this.tbSettingDescription.ReadOnly = true;
this.tbSettingDescription.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
this.tbSettingDescription.Size = new System.Drawing.Size(840, 44);
this.tbSettingDescription.TabIndex = 81;
this.tbSettingDescription.Visible = false;
//
// pnlListview
//
this.pnlListview.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.pnlListview.Controls.Add(this.lvSettings);
this.pnlListview.Controls.Add(this.tbSettingDescription);
this.pnlListview.Location = new System.Drawing.Point(12, 52);
this.pnlListview.Name = "pnlListview";
this.pnlListview.Size = new System.Drawing.Size(840, 416);
this.pnlListview.TabIndex = 82;
//
// frmDrvSettings
//
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1152, 606);
this.ClientSize = new System.Drawing.Size(864, 492);
this.Controls.Add(this.pnlListview);
this.Controls.Add(this.lblWidth30);
this.Controls.Add(this.lblWidth16);
this.Controls.Add(this.lblWidth330);
this.Controls.Add(this.lblWidth96);
this.Controls.Add(this.lvSettings);
this.Controls.Add(this.lblApplications);
this.Controls.Add(this.tsMain);
this.Controls.Add(this.pbMain);
this.Controls.Add(this.btnResetValue);
this.Controls.Add(this.cbValues);
this.Margin = new System.Windows.Forms.Padding(5);
this.MinimumSize = new System.Drawing.Size(1167, 417);
this.Margin = new System.Windows.Forms.Padding(4);
this.MinimumSize = new System.Drawing.Size(879, 346);
this.Name = "frmDrvSettings";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "nSpector - Driver Profile Settings";
@@ -558,6 +584,8 @@
this.Shown += new System.EventHandler(this.frmDrvSettings_Shown);
this.tsMain.ResumeLayout(false);
this.tsMain.PerformLayout();
this.pnlListview.ResumeLayout(false);
this.pnlListview.PerformLayout();
this.ResumeLayout(false);
}
@@ -609,5 +637,7 @@
private System.Windows.Forms.Label lblWidth16;
private System.Windows.Forms.Label lblWidth30;
private System.Windows.Forms.ToolStripMenuItem exportCurrentProfileIncludingPredefinedSettingsToolStripMenuItem;
private System.Windows.Forms.TextBox tbSettingDescription;
private System.Windows.Forms.Panel pnlListview;
}
}

View File

@@ -39,6 +39,8 @@ namespace nspector
public string _CurrentProfile = "";
private bool isDevMode = false;
protected override void WndProc(ref Message m)
{
switch (m.Msg)
@@ -76,9 +78,12 @@ namespace nspector
{
var group = FindOrCreateGroup(setting.GroupName);
var item = new ListViewItem(setting.SettingText);
var settingName = isDevMode ? $"0x{setting.SettingId:X8} {setting.SettingText}" : setting.SettingText;
var item = new ListViewItem(settingName);
item.Tag = setting.SettingId;
item.Group = group;
item.SubItems.Add(setting.ValueText);
item.SubItems.Add(setting.ValueRaw);
@@ -150,7 +155,13 @@ namespace nspector
foreach (var settingItem in _currentProfileSettingItems)
{
lvSettings.Items.Add(CreateListViewItem(settingItem));
if (settingItem.IsSettingHidden) continue;
var itm = lvSettings.Items.Add(CreateListViewItem(settingItem));
if (Debugger.IsAttached && !settingItem.IsApiExposed)
{
itm.ForeColor = Color.LightCoral;
}
}
btnResetValue.Enabled = false;
@@ -206,6 +217,8 @@ namespace nspector
cbValues.BeginUpdate();
tsbBitValueEditor.Enabled = false;
cbValues.Items.Clear();
cbValues.Tag = lvSettings.SelectedItems[0].Tag;
uint settingid = (uint)lvSettings.SelectedItems[0].Tag;
@@ -227,6 +240,10 @@ namespace nspector
cbValues.Items.Add(itm);
}
tsbBitValueEditor.Enabled = valueNames.Count > 0;
}
if (settingMeta.SettingType == Native.NVAPI2.NVDRS_SETTING_TYPE.NVDRS_WSTRING_TYPE && settingMeta.StringValues != null)
@@ -242,13 +259,6 @@ namespace nspector
foreach (string v in valueNames)
cbValues.Items.Add(v);
}
var scannedCount = settingMeta?.DwordValues?
.Where(x => x.ValueSource == Common.Meta.SettingMetaSource.ScannedSettings)
.Count();
tsbBitValueEditor.Enabled = scannedCount > 0;
}
if (cbValues.Items.Count < 1)
@@ -258,6 +268,21 @@ namespace nspector
}
var referenceSettings = DrsServiceLocator.ReferenceSettings?.Settings.FirstOrDefault(s => s.SettingId == settingid);
if (string.IsNullOrEmpty(settingMeta.Description) && !(referenceSettings?.HasConstraints ?? false))
{
tbSettingDescription.Text = "";
tbSettingDescription.Visible = false;
tbSettingDescription.BackColor = SystemColors.Control;
}
else
{
tbSettingDescription.Text = settingMeta.Description;
tbSettingDescription.Visible = true;
tbSettingDescription.BackColor = (referenceSettings?.HasConstraints ?? false) ? Color.LightCoral : SystemColors.Control;
}
cbValues.Text = lvSettings.SelectedItems[0].SubItems[1].Text;
cbValues.EndUpdate();
@@ -331,6 +356,7 @@ namespace nspector
valueHasChanged = currentProfileItem.ValueRaw != stringBehind;
}
if (valueHasChanged || activeImages.Contains(lvItem.ImageIndex))
{
lvItem.ForeColor = SystemColors.ControlText;
@@ -418,6 +444,22 @@ namespace nspector
}
}
private void DeleteSelectedValue()
{
if (lvSettings.SelectedItems != null && lvSettings.SelectedItems.Count > 0)
{
var settingId = (uint)lvSettings.SelectedItems[0].Tag;
bool removeFromModified;
_drs.DeleteValue(_CurrentProfile, settingId, out removeFromModified);
if (removeFromModified)
RemoveFromModifiedProfiles(_CurrentProfile);
RefreshCurrentProfile();
}
}
private void InitTaskbarList()
{
if (Environment.OSVersion.Version.Major >= 6 && Environment.OSVersion.Version.Minor >= 1)
@@ -488,8 +530,12 @@ namespace nspector
Icon = Icon.ExtractAssociatedIcon(Application.ExecutablePath);
}
public static double ScaleFactor = 1;
private void SetupDpiAdjustments()
{
ScaleFactor = lblWidth330.Width / 330;
chSettingID.Width = lblWidth330.Width;
chSettingValueHex.Width = lblWidth96.Width;
}
@@ -574,7 +620,10 @@ namespace nspector
private void btnResetValue_Click(object sender, EventArgs e)
{
ResetSelectedValue();
if (Control.ModifierKeys == Keys.Control)
DeleteSelectedValue();
else
ResetSelectedValue();
}
private void ChangeCurrentProfile(string profileName)
@@ -1109,7 +1158,7 @@ namespace nspector
if (files.Length == 1)
{
var fileInfo = new FileInfo(files[0]);
if (fileInfo.Extension.ToLower().Equals(".nip"))
if (fileInfo.Extension.ToLowerInvariant().Equals(".nip"))
{
ImportProfiles(fileInfo.FullName);
return;
@@ -1145,11 +1194,12 @@ namespace nspector
private void lvSettings_DoubleClick(object sender, EventArgs e)
{
if (Debugger.IsAttached && lvSettings.SelectedItems != null && lvSettings.SelectedItems.Count == 1)
if (isDevMode && lvSettings.SelectedItems != null && lvSettings.SelectedItems.Count == 1)
{
var settingId = ((uint)lvSettings.SelectedItems[0].Tag);
var settingName = lvSettings.SelectedItems[0].Text;
Clipboard.SetText(string.Format($"0x{settingId:X8} {settingName}"));
//Clipboard.SetText(string.Format($"0x{settingId:X8} {settingName}"));
Clipboard.SetText(string.Format($"{settingName}"));
}
}
@@ -1216,8 +1266,116 @@ namespace nspector
{
CopyModifiedSettingsToClipBoard();
}
if (e.Control && e.Alt && e.KeyCode == Keys.D)
{
EnableDevmode();
}
if (Debugger.IsAttached && e.Control && e.KeyCode == Keys.T)
{
TestStoreSettings();
}
if (e.Control && e.KeyCode == Keys.F)
{
SearchSetting();
}
if (e.KeyCode == Keys.Escape)
{
RefreshCurrentProfile();
}
}
private void SearchSetting()
{
string inputString = "";
if (InputBox.Show("Search Setting", "Please enter setting name:", ref inputString, new List<string>(), "", 2048) == System.Windows.Forms.DialogResult.OK)
{
var lowerInput = inputString.Trim().ToLowerInvariant();
lvSettings.BeginUpdate();
foreach(ListViewItem itm in lvSettings.Items)
{
if (!itm.Text.ToLowerInvariant().Contains(lowerInput))
{
itm.Remove();
}
}
lvSettings.EndUpdate();
}
}
private void EnableDevmode()
{
isDevMode = true;
lvSettings.Font = new Font("Consolas", 9);
cbValues.Font = new Font("Consolas", 9);
lvSettings.HeaderStyle = ColumnHeaderStyle.Nonclickable;
RefreshCurrentProfile();
}
private void TestStoreSettings()
{
var sbSettings = new StringBuilder();
sbSettings.AppendFormat("{0,-40} {1}\r\n", "### Inspector Store Failed ###", _CurrentProfile);
pbMain.Minimum = 0;
pbMain.Maximum = lvSettings.Items.Count;
int cntIndex = 0;
foreach (ListViewGroup group in lvSettings.Groups)
{
bool groupTitleAdded = false;
foreach (ListViewItem item in group.Items)
{
try
{
pbMain.Value = cntIndex++;
var settingId = (uint)item.Tag;
var meta = _meta.GetSettingMeta(settingId);
if (meta.SettingType != NVDRS_SETTING_TYPE.NVDRS_DWORD_TYPE) continue;
var wasNotSet = new int[] { 1, 2, 3 }.Contains(item.ImageIndex);
if (wasNotSet)
{
_drs.SetDwordValueToProfile(_CurrentProfile, settingId, 0x0);
_drs.ResetValue(_CurrentProfile, settingId, out var rm);
}
else
{
var tmpValue = _drs.GetDwordValueFromProfile(_CurrentProfile, settingId);
_drs.SetDwordValueToProfile(_CurrentProfile, settingId, 0x0);
_drs.SetDwordValueToProfile(_CurrentProfile, settingId, tmpValue);
}
}
catch (NvapiException ne)
{
if (!groupTitleAdded)
{
sbSettings.AppendFormat("\r\n[{0}]\r\n", group.Header);
groupTitleAdded = true;
}
sbSettings.AppendFormat("{0,-40} SettingId: {1} Failed: {2}\r\n", item.Text, DrsUtil.GetDwordString((uint)item.Tag), ne.Status);
}
}
}
pbMain.Value = 0;
Clipboard.SetText(sbSettings.ToString());
MessageBox.Show("Failed Settings Stored to Clipboard");
}
private void CopyModifiedSettingsToClipBoard()
{
var sbSettings = new StringBuilder();

View File

@@ -125,7 +125,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADI
DAAAAk1TRnQBSQFMAgEBBAEAAagBBwGoAQcBEAEAARABAAT/ARkBAAj/AUIBTQE2BwABNgMAASgDAAFA
DAAAAk1TRnQBSQFMAgEBBAEAAcABBwHAAQcBEAEAARABAAT/ARkBAAj/AUIBTQE2BwABNgMAASgDAAFA
AwABIAMAAQEBAAEYBgABGP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/ADMAAcgBvQGvAacBkQF5BgAD/iEA
A+QD2gYAA/4hAAGXAcMBqwFMAZwBcAYAA/4hAAOmA2gGAAP+FQAB8gHxAfABqQGPAXQBzwHHAbwD/wG6
AaUBjAGuAZQBeAHxAe8B7QHvAe0B6wGhAYgBbQHkAeAB2xIAA/UD3QPmA/8D4APeA/QD8wPaA+4SAAHt
@@ -195,7 +195,7 @@
<data name="tsbRefreshProfile.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAAGgSURBVDhPrZPLSsNAFIb7BoKP4Upw5UoQBHfmMrG1olCa
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGgSURBVDhPrZPLSsNAFIb7BoKP4Upw5UoQBHfmMrG1olCa
pFoExY2KiHcRERFEwYUKglSQesFeQK2rFkFr0Y26MRAKpa2+QS+/MzGpaS114wdhQv7/nDknZ8bx7xDi
a+FFeYvnFU2QFHCcRxdEOcQTmTctjWHB4UgM2Wwe5XIZ+fwnko/PWF3bhiAqJzRRp2mtD0/U7oWlTbAK
Bj1jYO/vmo5SqYR44gG9fcPgiNpu2uvDkrCVEG+zIMkqcfqQuEuiWCwidhsHJ8qHhtEOLX2H9cxW81MF
@@ -208,7 +208,7 @@
<data name="tsbRestoreProfile.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAAFcSURBVDhP3VFNK0RhFL4/wNbM3PdcCgsfsbHDgkJKWPgD
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFcSURBVDhP3VFNK0RhFL4/wNbM3PdcCgsfsbHDgkJKWPgD
ilJGNN73XEs/gbKUmvITuPc9d5iwYKfZyULZ26BkhTjnnXs1TWTNqafOx/M895z3ev84FsrwigQfvyGl
1yNM1IyO4cQNrUKdqGFj1awmuGgWZnDC9Wouz8U1xnATkj+oE78HLVyWKPeAlH9EUkOa1FyzWOAxeVIS
JuxtRoVeERhS51zviLlsIHNjYRltW1ejWOChDdbqhEIfRoVbE0PZbXXoP3G/ygZFNyeYZ4xlwgzC9fAI
@@ -220,7 +220,7 @@
<data name="tsbCreateProfile.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAAEgSURBVDhP3Y/PKwRhHIf3f5g/wMWUlIuDUk5y5MCB3Dk4
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEgSURBVDhP3Y/PKwRhHIf3f5g/wMWUlIuDUk5y5MCB3Dk4
7EUbBwdXJ3EXsksjidlk2x27NrXt5kdjlTQXbSFK2iaGaX7s491Zjppx5FNP7/et9/n0fmP/PFwu8JGd
5OsaLdxpNIyVQPL1GcyDwWDmVsEx1sLLGvdHeLtduKVh/GIPTlbGPRvF3mmjXm0Vh8a9SEBGAl1gCMoS
j2p/uOyX5/AK4/i5bqgI8UrQPFUJO9mOr43gHk/9XOToy9QLCd4O+yAvxCb7gg0JK9WJqcWxTubDf+Kd
@@ -237,7 +237,7 @@
<data name="toolStripButton5.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9
0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw
bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc
@@ -252,7 +252,7 @@
<data name="toolStripButton6.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9
0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw
bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc
@@ -282,7 +282,4 @@
<metadata name="lblWidth30.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="lvSettings.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
</root>

View File

@@ -10,7 +10,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>nspector</RootNamespace>
<AssemblyName>nvidiaProfileInspector</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<PlatformTarget>x86</PlatformTarget>
<TargetFrameworkProfile />
@@ -93,7 +93,7 @@
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<DefineConstants>TRACE;RELEASE</DefineConstants>
<Optimize>false</Optimize>
<DebugType>none</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
@@ -226,6 +226,7 @@
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<None Include="app.config" />
<None Include="app.manifest">
<SubType>Designer</SubType>
</None>

View File

@@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.23107.0
# Visual Studio Version 17
VisualStudioVersion = 17.3.32929.385
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nvidiaProfileInspector", "nspector\nvidiaProfileInspector.csproj", "{27B20027-E783-4ADC-AF16-40A49463F4BF}"
EndProject
@@ -19,4 +19,7 @@ Global
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {7FB061B1-515F-4B0E-B49F-552DFCA05527}
EndGlobalSection
EndGlobal