Bo3b's School For Shaderhackers
  61 / 87    
I think the problem with failed imports via inspector might be related to profile with Chinese Characters. I have trouble copying these sometimes. When they do not copy right, they show up as question marks ????????????????????????? But I'm not sure that it matters, the Chinese Characters seems to be associated with wording in the overlay. SettingString ID_0x709adadc = "ݧ浒�䬼⚭湊㾒㶦䐄鋝쫦徔웿ꐾ쪅⃞쀹�㓨傯娘簫鸹瀷딃ᤪ取�븄᱆뼜褲籛謧␎赲㱵矻粞ꗽ燚胓㖻뫢뚘ᯅ쑍낿镞䭽义솵ᜧ᣿୷譶士嫩ͬ嚟᚞誝㉵跰躐" InternalSettingFlag=V0 This is a 2D compatibility Text Perhaps it's possible that it could give an error if not carried over correctly? Because if one thing is off in the profile, I get an error on my imports using GeForce Profile Manager. Setting above is from Saints Row IV Edit: Maybe this site can help? It has a lot of different converters http://www.binarydecimal.com/44a2c157-hexadecimal/
I think the problem with failed imports via inspector might be related to profile with Chinese Characters. I have trouble copying these sometimes.

When they do not copy right, they show up as question marks ?????????????????????????

But I'm not sure that it matters, the Chinese Characters seems to be associated with wording in the overlay.

SettingString ID_0x709adadc = "ݧ浒�䬼⚭湊㾒㶦䐄鋝쫦徔웿ꐾ쪅⃞쀹�㓨傯娘簫鸹瀷딃ᤪ取�븄᱆뼜褲籛謧␎赲㱵矻粞ꗽ燚胓㖻뫢뚘ᯅ쑍낿镞䭽义솵ᜧ᣿୷譶士嫩ͬ嚟᚞誝㉵跰躐" InternalSettingFlag=V0

This is a 2D compatibility Text

Perhaps it's possible that it could give an error if not carried over correctly? Because if one thing is off in the profile, I get an error on my imports using GeForce Profile Manager.

Setting above is from Saints Row IV

Edit: Maybe this site can help? It has a lot of different converters http://www.binarydecimal.com/44a2c157-hexadecimal/

Posted 07/12/2016 08:26 PM   
I'm going to be a little vague due to the nature of what I've found and the fact that this forum is run by nvidia - if you want details contact me outside of this forum. I'll have a script to decode those "chinese characters" (they aren't) and all the other internal settings shortly. Suffice to say I found that key piece of information I was looking for.
I'm going to be a little vague due to the nature of what I've found and the fact that this forum is run by nvidia - if you want details contact me outside of this forum. I'll have a script to decode those "chinese characters" (they aren't) and all the other internal settings shortly. Suffice to say I found that key piece of information I was looking for.

2x Geforce GTX 980 in SLI provided by NVIDIA, i7 6700K 4GHz CPU, Asus 27" VG278HE 144Hz 3D Monitor, BenQ W1070 3D Projector, 120" Elite Screens YardMaster 2, 32GB Corsair DDR4 3200MHz RAM, Samsung 850 EVO 500G SSD, 4x750GB HDD in RAID5, Gigabyte Z170X-Gaming 7 Motherboard, Corsair Obsidian 750D Airflow Edition Case, Corsair RM850i PSU, HTC Vive, Win 10 64bit

Alienware M17x R4 w/ built in 3D, Intel i7 3740QM, GTX 680m 2GB, 16GB DDR3 1600MHz RAM, Win7 64bit, 1TB SSD, 1TB HDD, 750GB HDD

Pre-release 3D fixes, shadertool.py and other goodies: http://github.com/DarkStarSword/3d-fixes
Support me on Patreon: https://www.patreon.com/DarkStarSword or PayPal: https://www.paypal.me/DarkStarSword

Posted 07/13/2016 12:39 AM   
The script is in my 3d-fixes repo under __profiles__/sanitise_nv_profiles.py - run it on an "NVIDIA Profiles.txt" exported from Geforce Profile Manager and it will create an "NVIDIA Profiles-cleaned.txt" with the internal values decoded, the profiles sorted alphabetically, the settings within the profiles sorted, and tags settings with their names from the CustomSettingNames_en-EN.xml in the top level directory. If you just want to take a look at the output, I ran it over a couple of exports from fresh driver installs (nothing recent) - you can compare the originals and the -cleaned.txt versions if you like: http://darkstarsword.net/profiles/ [color="orange"]Note that the -cleaned.txt file currently CANNOT be imported back into Geforce Profile Manager.[/color] I may add this later, but for now just use it as a tool to help make sense of the settings. Later I'll see about adding this functionality to NVIDIA Inspector now that it's open source (Edit: submitted a bug report for it, just in case the author is keen to implement it before I get to it).
The script is in my 3d-fixes repo under __profiles__/sanitise_nv_profiles.py - run it on an "NVIDIA Profiles.txt" exported from Geforce Profile Manager and it will create an "NVIDIA Profiles-cleaned.txt" with the internal values decoded, the profiles sorted alphabetically, the settings within the profiles sorted, and tags settings with their names from the CustomSettingNames_en-EN.xml in the top level directory.

If you just want to take a look at the output, I ran it over a couple of exports from fresh driver installs (nothing recent) - you can compare the originals and the -cleaned.txt versions if you like:
http://darkstarsword.net/profiles/

Note that the -cleaned.txt file currently CANNOT be imported back into Geforce Profile Manager. I may add this later, but for now just use it as a tool to help make sense of the settings. Later I'll see about adding this functionality to NVIDIA Inspector now that it's open source (Edit: submitted a bug report for it, just in case the author is keen to implement it before I get to it).

2x Geforce GTX 980 in SLI provided by NVIDIA, i7 6700K 4GHz CPU, Asus 27" VG278HE 144Hz 3D Monitor, BenQ W1070 3D Projector, 120" Elite Screens YardMaster 2, 32GB Corsair DDR4 3200MHz RAM, Samsung 850 EVO 500G SSD, 4x750GB HDD in RAID5, Gigabyte Z170X-Gaming 7 Motherboard, Corsair Obsidian 750D Airflow Edition Case, Corsair RM850i PSU, HTC Vive, Win 10 64bit

Alienware M17x R4 w/ built in 3D, Intel i7 3740QM, GTX 680m 2GB, 16GB DDR3 1600MHz RAM, Win7 64bit, 1TB SSD, 1TB HDD, 750GB HDD

Pre-release 3D fixes, shadertool.py and other goodies: http://github.com/DarkStarSword/3d-fixes
Support me on Patreon: https://www.patreon.com/DarkStarSword or PayPal: https://www.paypal.me/DarkStarSword

Posted 07/13/2016 02:24 AM   
Awesome, now it makes sense with the bits that were shared. Odd how stereo cutoff and stereo texture enable are de facto settings and yet they are not present in the profile for Saints Row the Third. It wouldn't be so odd if there wasn't settings in the profile listing the stereo compatibility as "Not Recommended" and yet when added to the Prototype profile it's nearly perfect. I can only assume that Nvidia had no love for the developers at the time or the profile guy was on vacation :P Thanks for the new values and names, now that kitchen sink of settings in Half Life 2 makes sense.
Awesome, now it makes sense with the bits that were shared.

Odd how stereo cutoff and stereo texture enable are de facto settings and yet they are not present in the profile for Saints Row the Third.

It wouldn't be so odd if there wasn't settings in the profile listing the stereo compatibility as "Not Recommended" and yet when added to the Prototype profile it's nearly perfect.

I can only assume that Nvidia had no love for the developers at the time or the profile guy was on vacation :P

Thanks for the new values and names, now that kitchen sink of settings in Half Life 2 makes sense.

Posted 07/13/2016 06:36 AM   
Interesting that in the old stereo drivers you could use ctrl+F9 and F10 for adjustments to help create a profile. These have been disabled and now profile settings have replaced them. Increase Backplane Alt+F10 Progressively repositions objects to the screen depth, starting with the farthest objects. Moves the backplane (RHW lesser@screen) closer to the screen. Use if the farthest objects are positioned inconsistently with the rest of the game. Decrease Backplane Alt+F9 Reverses the “Increase Backplane” action. Move backplane (RHW lesser@screen) away from the screen. Use to maximize the range of depth behind the screen. http://http.download.nvidia.com/Windows/71.84/71.84_ForceWare_3D_Stereo_Users_Guide.pdf.pdf RHW = Reciprocal of Homogeneous W as posted by [url=https://forums.geforce.com/default/topic/409313/3d-vision/post-registry-entries-here-user-documented-3d-registry-entries/post/2874271/#2874271]iondrive[/url] (no mention of StereoFlyWheelCycle, but I suspect that this has something to do with the sync signal for DLP Projectors and DLP 3D HDTVs, for use with stereo glasses and a dongle, such as those by E-Dimensional)
Interesting that in the old stereo drivers you could use ctrl+F9 and F10 for adjustments to help create a profile. These have been disabled and now profile settings have replaced them.

Increase Backplane
Alt+F10 Progressively repositions objects to the screen depth, starting with the farthest objects.
Moves the backplane (RHW lesser@screen) closer to the screen.
Use if the farthest objects are positioned inconsistently with the rest of the game.


Decrease Backplane

Alt+F9 Reverses the “Increase Backplane” action. Move backplane (RHW lesser@screen) away from the screen.
Use to maximize the range of depth behind the screen.

http://http.download.nvidia.com/Windows/71.84/71.84_ForceWare_3D_Stereo_Users_Guide.pdf.pdf

RHW = Reciprocal of Homogeneous W as posted by iondrive

(no mention of StereoFlyWheelCycle, but I suspect that this has something to do with the sync signal for DLP Projectors and DLP 3D HDTVs, for use with stereo glasses and a dongle, such as those by E-Dimensional)

Posted 07/13/2016 09:52 AM   
Just a heads up to anyone using my Unity templates - I've updated the DX11 versions to use assembly for the halo, reflection, specular, fog, etc. fixes. These are the ones that the script attempts to apply to every shader in the game, and are the most likely to suffer from decompiler bugs as a result (because statistics). The lighting and sun shaft fixes are only performed on specific shaders which the decompiler is known to work well for, so those are still in HLSL. I've updated the Stranded Deep fix if anyone wants to look at a practical example. This new version also includes a custom shader to inverse matrices (for use in assembly shaders), so also serves as an example of that. There's a few things to keep in mind for anyone updating an existing fix to use this new version: - Update to 3DMigoto 1.2.40 or later - this fixes a crash related to creating custom buffers - Include the new ShaderFixes/inverse_unity_mvp.hlsl custom shader - Update the d3dx.ini with the new excerpts in the template (specifically, add the [CustomShader_Inverse_Unity_MVP] and [Resource_Inverse_MVP] sections) - Any ShaderOverride sections containing "Resource_UnityPerDraw = ..." need to be updated. There's a few options here: Option a) Remove all shaders containing the above fixes and use the cleanup script to remove their corresponding sections from the d3dx.ini, then re-run the autofix. You could remove all the shaders that mention hlsltool, but keep in mind that you probably don't want to remove any that you have edited (so make sure you have a backup). The shaders with the above patterns will contain one or more of these strings: [code]// Automatic vertex shader halo fix inserted with DarkStarSword's hlsltool.py: // Unity reflection/specular fix inserted with DarkStarSword's hlsltool.py: // Unity _FrustumCornersWS fix inserted with DarkStarSword's hlsltool.py:[/code] Note that the second string will also be present in most of the lighting pixel shaders (since they contain two fixes), but it should be harmless to remove and regenerate them. Once the autofixed shaders have been removed, run this command to remove their sections from the d3dx.ini: [code]cleanup_unity_shaders.py --remove-ini-sections-for-uninstalled-shaders --no-git /path/to/game/dir[/code] Option b) Leave the existing HLSL shaders in place (especially if they have not given you any trouble on whatever game you are looking at), and just modify their ini sections. To do this you want to search for "Resource_UnityPerDraw = vs-" and insert this line *immediately after* every occurrence of it: [code] run = CustomShader_Inverse_Unity_MVP [/code] New assembly shaders will also need the "vs-cb10 = copy Resource_Inverse_MVP" line, but that should be added by the script automatically when they are generated.
Just a heads up to anyone using my Unity templates - I've updated the DX11 versions to use assembly for the halo, reflection, specular, fog, etc. fixes. These are the ones that the script attempts to apply to every shader in the game, and are the most likely to suffer from decompiler bugs as a result (because statistics). The lighting and sun shaft fixes are only performed on specific shaders which the decompiler is known to work well for, so those are still in HLSL.

I've updated the Stranded Deep fix if anyone wants to look at a practical example. This new version also includes a custom shader to inverse matrices (for use in assembly shaders), so also serves as an example of that.

There's a few things to keep in mind for anyone updating an existing fix to use this new version:
- Update to 3DMigoto 1.2.40 or later - this fixes a crash related to creating custom buffers
- Include the new ShaderFixes/inverse_unity_mvp.hlsl custom shader
- Update the d3dx.ini with the new excerpts in the template (specifically, add the [CustomShader_Inverse_Unity_MVP] and [Resource_Inverse_MVP] sections)
- Any ShaderOverride sections containing "Resource_UnityPerDraw = ..." need to be updated. There's a few options here:

Option a) Remove all shaders containing the above fixes and use the cleanup script to remove their corresponding sections from the d3dx.ini, then re-run the autofix. You could remove all the shaders that mention hlsltool, but keep in mind that you probably don't want to remove any that you have edited (so make sure you have a backup). The shaders with the above patterns will contain one or more of these strings:

// Automatic vertex shader halo fix inserted with DarkStarSword's hlsltool.py:
// Unity reflection/specular fix inserted with DarkStarSword's hlsltool.py:
// Unity _FrustumCornersWS fix inserted with DarkStarSword's hlsltool.py:

Note that the second string will also be present in most of the lighting pixel shaders (since they contain two fixes), but it should be harmless to remove and regenerate them.

Once the autofixed shaders have been removed, run this command to remove their sections from the d3dx.ini:

cleanup_unity_shaders.py --remove-ini-sections-for-uninstalled-shaders --no-git /path/to/game/dir


Option b) Leave the existing HLSL shaders in place (especially if they have not given you any trouble on whatever game you are looking at), and just modify their ini sections. To do this you want to search for "Resource_UnityPerDraw = vs-" and insert this line *immediately after* every occurrence of it:

run = CustomShader_Inverse_Unity_MVP

New assembly shaders will also need the "vs-cb10 = copy Resource_Inverse_MVP" line, but that should be added by the script automatically when they are generated.

2x Geforce GTX 980 in SLI provided by NVIDIA, i7 6700K 4GHz CPU, Asus 27" VG278HE 144Hz 3D Monitor, BenQ W1070 3D Projector, 120" Elite Screens YardMaster 2, 32GB Corsair DDR4 3200MHz RAM, Samsung 850 EVO 500G SSD, 4x750GB HDD in RAID5, Gigabyte Z170X-Gaming 7 Motherboard, Corsair Obsidian 750D Airflow Edition Case, Corsair RM850i PSU, HTC Vive, Win 10 64bit

Alienware M17x R4 w/ built in 3D, Intel i7 3740QM, GTX 680m 2GB, 16GB DDR3 1600MHz RAM, Win7 64bit, 1TB SSD, 1TB HDD, 750GB HDD

Pre-release 3D fixes, shadertool.py and other goodies: http://github.com/DarkStarSword/3d-fixes
Support me on Patreon: https://www.patreon.com/DarkStarSword or PayPal: https://www.paypal.me/DarkStarSword

Posted 07/14/2016 02:01 PM   
[quote="DarkStarSword"]Later I'll see about adding this functionality to NVIDIA Inspector now that it's open source (Edit: submitted a bug report for it, just in case the author is keen to implement it before I get to it).[/quote]I'm at work right now. Can someone try out this test build of NVIDIA Inspector which should decrypt the internal settings: https://ci.appveyor.com/project/Orbmu2k/nvidiaprofileinspector/build/artifacts
DarkStarSword said:Later I'll see about adding this functionality to NVIDIA Inspector now that it's open source (Edit: submitted a bug report for it, just in case the author is keen to implement it before I get to it).
I'm at work right now. Can someone try out this test build of NVIDIA Inspector which should decrypt the internal settings: https://ci.appveyor.com/project/Orbmu2k/nvidiaprofileinspector/build/artifacts

2x Geforce GTX 980 in SLI provided by NVIDIA, i7 6700K 4GHz CPU, Asus 27" VG278HE 144Hz 3D Monitor, BenQ W1070 3D Projector, 120" Elite Screens YardMaster 2, 32GB Corsair DDR4 3200MHz RAM, Samsung 850 EVO 500G SSD, 4x750GB HDD in RAID5, Gigabyte Z170X-Gaming 7 Motherboard, Corsair Obsidian 750D Airflow Edition Case, Corsair RM850i PSU, HTC Vive, Win 10 64bit

Alienware M17x R4 w/ built in 3D, Intel i7 3740QM, GTX 680m 2GB, 16GB DDR3 1600MHz RAM, Win7 64bit, 1TB SSD, 1TB HDD, 750GB HDD

Pre-release 3D fixes, shadertool.py and other goodies: http://github.com/DarkStarSword/3d-fixes
Support me on Patreon: https://www.patreon.com/DarkStarSword or PayPal: https://www.paypal.me/DarkStarSword

Posted 07/14/2016 11:58 PM   
[quote="DarkStarSword"]I'm at work right now. Can someone try out this test build of NVIDIA Inspector which should decrypt the internal settings: https://ci.appveyor.com/project/Orbmu2k/nvidiaprofileinspector/build/artifacts [/quote] Haven't been following this too closely to know exactly what I'm looking for, but it loads up fine and I don't see any symbols in the text. Is that mainly what I'm to be confirming?
DarkStarSword said:I'm at work right now. Can someone try out this test build of NVIDIA Inspector which should decrypt the internal settings: https://ci.appveyor.com/project/Orbmu2k/nvidiaprofileinspector/build/artifacts



Haven't been following this too closely to know exactly what I'm looking for, but it loads up fine and I don't see any symbols in the text. Is that mainly what I'm to be confirming?

3D Gaming Rig: CPU: i7 7700K @ 4.9Ghz | Mobo: Asus Maximus Hero VIII | RAM: Corsair Dominator 16GB | GPU: 2 x GTX 1080 Ti SLI | 3xSSDs for OS and Apps, 2 x HDD's for 11GB storage | PSU: Seasonic X-1250 M2| Case: Corsair C70 | Cooling: Corsair H115i Hydro cooler | Displays: Asus PG278QR, BenQ XL2420TX & BenQ HT1075 | OS: Windows 10 Pro + Windows 7 dual boot

Like my fixes? Dontations can be made to: www.paypal.me/DShanz or rshannonca@gmail.com
Like electronic music? Check out: www.soundcloud.com/dj-ryan-king

Posted 07/15/2016 06:00 AM   
That's part of it, but more importantly for the first time we can see the values on built in profiles clearly and make sense of them. Here's a practical example of where this could have helped us in the past: When we started looking at fixing Far Cry 4 we found that every transparent effect seemed to be using a mono copy of the depth buffer. We had a workaround for SLI systems, but were unable to resolve it on single GPU systems. Eventually DHR discovered that the Max Payne 3 profile magically solved the issue (earning him a note in the credits for that fix), and with a bit of experimentation I tracked it down to the StereoFlagsDX10 setting (this was after we had determined the names of these settings). But, since it was an internal (which we now know means encrypted) setting, it appeared to use StereoFlagsDX10=0x1C22FE24, but just taking that value and sticking it in the Far Cry 4 profile didn't work (it actually negated the separation value we loaded from the stereo params texture, making all patched shaders break the game more instead of fixing it), and until now we had no explanation for this. At the time I went through and tried one bit at a time until I tracked down StereoFlagsDX10=0x00004000 as the magic bit to make it work, and we have used that in many fixes since then (and NVIDIA has also confirmed for us that bit corresponds to STEREO_COMPUTE_ENABLE). Now, if you use the latest test build of NVIDIA Inspector (2.1.2.7 - 2.1.2.6 still had a bug, so be sure to update again), you will see that the Max Payne 3 profile actually has StereoFlagsDX10=0x00004000, not 0x1C22FE24 as it appeared to have when we tried to make sense of it in the past. If we had known that earlier, it would have saved us some time and would have made a whole lot more sense. Another area I expect to see this help is with the guide to tweak the HUD in compatibility mode. At the moment that guide says to use Geforce Profile Manager as it allows the internal settings flag to be maintained, but we now know the issue was not that flag - it is actually because the settings were being read without decrypting them, and writing them back would effectively corrupt them. The new version of NVIDIA Inspector correctly decrypts these settings so we should be able to start making sense of which bits affect what, and will be able to ship profiles with these settings that can be imported with nvidia inspector. Likewise, various other settings now make a whole lot more sense, and our observations of what they do in internal profiles should start matching up with observations of what they do in user profiles (whereas before the most confusing thing was that they would do completely different things if we changed them, even if we changed them back afterwards).
That's part of it, but more importantly for the first time we can see the values on built in profiles clearly and make sense of them. Here's a practical example of where this could have helped us in the past:

When we started looking at fixing Far Cry 4 we found that every transparent effect seemed to be using a mono copy of the depth buffer. We had a workaround for SLI systems, but were unable to resolve it on single GPU systems. Eventually DHR discovered that the Max Payne 3 profile magically solved the issue (earning him a note in the credits for that fix), and with a bit of experimentation I tracked it down to the StereoFlagsDX10 setting (this was after we had determined the names of these settings).

But, since it was an internal (which we now know means encrypted) setting, it appeared to use StereoFlagsDX10=0x1C22FE24, but just taking that value and sticking it in the Far Cry 4 profile didn't work (it actually negated the separation value we loaded from the stereo params texture, making all patched shaders break the game more instead of fixing it), and until now we had no explanation for this. At the time I went through and tried one bit at a time until I tracked down StereoFlagsDX10=0x00004000 as the magic bit to make it work, and we have used that in many fixes since then (and NVIDIA has also confirmed for us that bit corresponds to STEREO_COMPUTE_ENABLE).

Now, if you use the latest test build of NVIDIA Inspector (2.1.2.7 - 2.1.2.6 still had a bug, so be sure to update again), you will see that the Max Payne 3 profile actually has StereoFlagsDX10=0x00004000, not 0x1C22FE24 as it appeared to have when we tried to make sense of it in the past. If we had known that earlier, it would have saved us some time and would have made a whole lot more sense.



Another area I expect to see this help is with the guide to tweak the HUD in compatibility mode. At the moment that guide says to use Geforce Profile Manager as it allows the internal settings flag to be maintained, but we now know the issue was not that flag - it is actually because the settings were being read without decrypting them, and writing them back would effectively corrupt them. The new version of NVIDIA Inspector correctly decrypts these settings so we should be able to start making sense of which bits affect what, and will be able to ship profiles with these settings that can be imported with nvidia inspector.


Likewise, various other settings now make a whole lot more sense, and our observations of what they do in internal profiles should start matching up with observations of what they do in user profiles (whereas before the most confusing thing was that they would do completely different things if we changed them, even if we changed them back afterwards).

2x Geforce GTX 980 in SLI provided by NVIDIA, i7 6700K 4GHz CPU, Asus 27" VG278HE 144Hz 3D Monitor, BenQ W1070 3D Projector, 120" Elite Screens YardMaster 2, 32GB Corsair DDR4 3200MHz RAM, Samsung 850 EVO 500G SSD, 4x750GB HDD in RAID5, Gigabyte Z170X-Gaming 7 Motherboard, Corsair Obsidian 750D Airflow Edition Case, Corsair RM850i PSU, HTC Vive, Win 10 64bit

Alienware M17x R4 w/ built in 3D, Intel i7 3740QM, GTX 680m 2GB, 16GB DDR3 1600MHz RAM, Win7 64bit, 1TB SSD, 1TB HDD, 750GB HDD

Pre-release 3D fixes, shadertool.py and other goodies: http://github.com/DarkStarSword/3d-fixes
Support me on Patreon: https://www.patreon.com/DarkStarSword or PayPal: https://www.paypal.me/DarkStarSword

Posted 07/16/2016 06:29 AM   
[quote="DarkStarSword"]The script is in my 3d-fixes repo under __profiles__/sanitise_nv_profiles.py - run it on an "NVIDIA Profiles.txt" exported from Geforce Profile Manager and it will create an "NVIDIA Profiles-cleaned.txt" with the internal values decoded, the profiles sorted alphabetically, the settings within the profiles sorted, and tags settings with their names from the CustomSettingNames_en-EN.xml in the top level directory.[/quote] Can you make it so that your script places the value in the setting notes instead in place of the existing un-decoded value, Please. Currently Setting ID_0x70edb381 (StereoTextureEnable) = 0x00000000 InternalSettingFlag=V0 Preferred Setting ID_0x709a1ddf = 0x4b1cd969 InternalSettingFlag=V0 // StereoCutoff 0x00000000 If you could do it the second way, it would be possible to copy and paste settings for import via GeForce Profile Manager without having to refer to two profiles :)
DarkStarSword said:The script is in my 3d-fixes repo under __profiles__/sanitise_nv_profiles.py - run it on an "NVIDIA Profiles.txt" exported from Geforce Profile Manager and it will create an "NVIDIA Profiles-cleaned.txt" with the internal values decoded, the profiles sorted alphabetically, the settings within the profiles sorted, and tags settings with their names from the CustomSettingNames_en-EN.xml in the top level directory.


Can you make it so that your script places the value in the setting notes instead in place of the existing un-decoded value, Please.


Currently
Setting ID_0x70edb381 (StereoTextureEnable) = 0x00000000 InternalSettingFlag=V0

Preferred
Setting ID_0x709a1ddf = 0x4b1cd969 InternalSettingFlag=V0 // StereoCutoff 0x00000000

If you could do it the second way, it would be possible to copy and paste settings for import via GeForce Profile Manager without having to refer to two profiles :)

Posted 07/16/2016 02:23 PM   
@D-Man11: ...that formatting looks oddly familiar. :P @DarkSatrSword: Does this mean we can finally import/export NIPs and the 'InternalSettings' which previously wouldn't stick will now?
@D-Man11: ...that formatting looks oddly familiar. :P

@DarkSatrSword: Does this mean we can finally import/export NIPs and the 'InternalSettings' which previously wouldn't stick will now?
Posted 07/16/2016 06:58 PM   
hah, it should :P It was from your original [url=https://forums.geforce.com/default/topic/813241/3d-vision/game-profile-settings-wiki-page/post/4474269/#4474269]"wall of text"[/url] parse that helped me try some different profiles for experimenting. I was used to looking at Setting ID_0x709a1ddf= 968, 969 or 96b, which is the the 3 different values listed in the profiles. This is the easy one because it only has the 3 Values. (excluding the mystery setting, which only has one) :P But for those other settings with 7 or more variables, it would be nice to have the combined format
hah, it should :P

It was from your original "wall of text" parse that helped me try some different profiles for experimenting.


I was used to looking at Setting ID_0x709a1ddf= 968, 969 or 96b, which is the the 3 different values listed in the profiles. This is the easy one because it only has the 3 Values. (excluding the mystery setting, which only has one) :P

But for those other settings with 7 or more variables, it would be nice to have the combined format

Posted 07/16/2016 07:31 PM   
[quote="D-Man11"]Can you make it so that your script places the value in the setting notes instead in place of the existing un-decoded value, Please.[/quote] I've had some trouble getting Geforce Profile Manager to recognise the file even after changing it like that - I'll keep trying, but in the meantime why not just use the latest version of NVIDIA Profile Inspector now that it has the decryption built in?
D-Man11 said:Can you make it so that your script places the value in the setting notes instead in place of the existing un-decoded value, Please.


I've had some trouble getting Geforce Profile Manager to recognise the file even after changing it like that - I'll keep trying, but in the meantime why not just use the latest version of NVIDIA Profile Inspector now that it has the decryption built in?

2x Geforce GTX 980 in SLI provided by NVIDIA, i7 6700K 4GHz CPU, Asus 27" VG278HE 144Hz 3D Monitor, BenQ W1070 3D Projector, 120" Elite Screens YardMaster 2, 32GB Corsair DDR4 3200MHz RAM, Samsung 850 EVO 500G SSD, 4x750GB HDD in RAID5, Gigabyte Z170X-Gaming 7 Motherboard, Corsair Obsidian 750D Airflow Edition Case, Corsair RM850i PSU, HTC Vive, Win 10 64bit

Alienware M17x R4 w/ built in 3D, Intel i7 3740QM, GTX 680m 2GB, 16GB DDR3 1600MHz RAM, Win7 64bit, 1TB SSD, 1TB HDD, 750GB HDD

Pre-release 3D fixes, shadertool.py and other goodies: http://github.com/DarkStarSword/3d-fixes
Support me on Patreon: https://www.patreon.com/DarkStarSword or PayPal: https://www.paypal.me/DarkStarSword

Posted 07/16/2016 07:58 PM   
Some games can have their profile updated while the game is running. Other require that you exit the game and it will take only after the restart. With Geforce importing, I can change a text line and then I'm certain that the profile has been updated. Like I'll put test #1 on the text line and then change it to something else like test #2 for my next attempt. Then I can clearly see that the new settings have been imported. With Nvidia Inspector, you can not tell if it updates setting changes unless you swapped profiles and you can see that the profile name has changed. No worries, if it's too much trouble.
Some games can have their profile updated while the game is running. Other require that you exit the game and it will take only after the restart.

With Geforce importing, I can change a text line and then I'm certain that the profile has been updated. Like I'll put test #1 on the text line and then change it to something else like test #2 for my next attempt. Then I can clearly see that the new settings have been imported.

With Nvidia Inspector, you can not tell if it updates setting changes unless you swapped profiles and you can see that the profile name has changed.

No worries, if it's too much trouble.

Posted 07/16/2016 08:08 PM   
[quote="TsaebehT"]@D-Man11: ...that formatting looks oddly familiar. :P @DarkSatrSword: Does this mean we can finally import/export NIPs and the 'InternalSettings' which previously wouldn't stick will now?[/quote]It should, yes - please test this in the latest NVIDIA Profile Inspector and report success/failure: https://ci.appveyor.com/project/Orbmu2k/nvidiaprofileinspector/build/artifacts Just keep in mind that this discovery revises some prior knowledge we had on the setting values - anywhere we had previously been using Geforce Profile Manager to preserve the internal settings flag we should decrypt the values and use those instead. e.g. translating the values from Helifax' guide on compatibility mode: [quote="helifax"] [code]Setting ID_0x709adada = 0x07f58257 InternalSettingFlag=V0[/code] [/quote]Decrypted is: [code]2DDHUDSettings = 0x20000002[/code] [quote] ========================================= II. Step 3 - Possible Values for the Flag ========================================= Like I said above, the value controls how 3D mode works and mainly [color="green"]what is 3D and what 2D[/color]. Values that I found interesting: [code]From: Setting ID_0x709adada = 0x37f58240 InternalSettingFlag=V0 // Used by Bioshock Infinite [/code][/quote]Decrypted is: [code]2DDHUDSettings = 0x10000015[/code] [quote][code]Commonly used: Setting ID_0x709adada = 0x37f58257 InternalSettingFlag=V0 // Used by most of the games [/code][/quote]Decrypted is: [code]2DDHUDSettings = 0x10000002[/code] [quote][code]To: Setting ID_0x709adada = 0x37f5825a InternalSettingFlag=V0 // My special value. See below the Example. [/code][/quote]Decrypted is: [code]2DDHUDSettings = 0x1000000f[/code] [quote]========================================================================= III. Example: Getting the most of the CM mode in Dragon Age: Inquisition ========================================================================= Screenshot taken in Discovery Mode so they can be seen better: 1. [code]Setting ID_0x709adada = 0x37f58240 InternalSettingFlag=V0[/code] [url=http://www.iforce.co.nz/View.aspx?i=yox0sl0l.qxm.png][img]http://iforce.co.nz/i/yox0sl0l.qxm.png[/img][/url] - Flat 2D. Nothing is actually rendered in 3D. [/quote]Decrypted is: [code]2DDHUDSettings = 0x10000015[/code] [quote]2. [code]Setting ID_0x709adada = 0x37f58547 InternalSettingFlag=V0[/code] [url=http://www.iforce.co.nz/View.aspx?i=1zgwpi0t.tzn.png][img]http://iforce.co.nz/i/1zgwpi0t.tzn.png[/img][/url] - Stereo 3D. Everything is rendered in 3D, including Menus + UI. Known for the atrocious jumping/broken/haloing UI. [/quote]Decrypted is: [code]2DDHUDSettings = 0x10000712[/code] [quote]3. [code]Setting ID_0x709adada = 0x37f5854a InternalSettingFlag=V0[/code] [url=http://www.iforce.co.nz/View.aspx?i=uczbippb.mrl.png][img]http://iforce.co.nz/i/uczbippb.mrl.png[/img][/url] - Stereo 3D. Game is rendered in 3D. Menus + UI is rendered in 2D so no more weird/broken/haloing UI. [/quote]Decrypted is:[code]2DDHUDSettings = 0x1000071f[/code]
TsaebehT said:@D-Man11: ...that formatting looks oddly familiar. :P

@DarkSatrSword: Does this mean we can finally import/export NIPs and the 'InternalSettings' which previously wouldn't stick will now?
It should, yes - please test this in the latest NVIDIA Profile Inspector and report success/failure:

https://ci.appveyor.com/project/Orbmu2k/nvidiaprofileinspector/build/artifacts


Just keep in mind that this discovery revises some prior knowledge we had on the setting values - anywhere we had previously been using Geforce Profile Manager to preserve the internal settings flag we should decrypt the values and use those instead.

e.g. translating the values from Helifax' guide on compatibility mode:
helifax said:
Setting ID_0x709adada = 0x07f58257 InternalSettingFlag=V0

Decrypted is:
2DDHUDSettings = 0x20000002


=========================================
II. Step 3 - Possible Values for the Flag
=========================================

Like I said above, the value controls how 3D mode works and mainly what is 3D and what 2D.

Values that I found interesting:
From:
Setting ID_0x709adada = 0x37f58240 InternalSettingFlag=V0
// Used by Bioshock Infinite
Decrypted is:
2DDHUDSettings = 0x10000015



Commonly used:
Setting ID_0x709adada = 0x37f58257 InternalSettingFlag=V0
// Used by most of the games
Decrypted is:
2DDHUDSettings = 0x10000002



To:
Setting ID_0x709adada = 0x37f5825a InternalSettingFlag=V0
// My special value. See below the Example.
Decrypted is:
2DDHUDSettings = 0x1000000f



=========================================================================
III. Example: Getting the most of the CM mode in Dragon Age: Inquisition
=========================================================================

Screenshot taken in Discovery Mode so they can be seen better:

1.
Setting ID_0x709adada = 0x37f58240 InternalSettingFlag=V0

Image
- Flat 2D. Nothing is actually rendered in 3D.
Decrypted is:
2DDHUDSettings = 0x10000015


2.
Setting ID_0x709adada = 0x37f58547 InternalSettingFlag=V0

Image
- Stereo 3D. Everything is rendered in 3D, including Menus + UI. Known for the atrocious jumping/broken/haloing UI.
Decrypted is:
2DDHUDSettings = 0x10000712


3.
Setting ID_0x709adada = 0x37f5854a InternalSettingFlag=V0

Image
- Stereo 3D. Game is rendered in 3D. Menus + UI is rendered in 2D so no more weird/broken/haloing UI.
Decrypted is:
2DDHUDSettings = 0x1000071f

2x Geforce GTX 980 in SLI provided by NVIDIA, i7 6700K 4GHz CPU, Asus 27" VG278HE 144Hz 3D Monitor, BenQ W1070 3D Projector, 120" Elite Screens YardMaster 2, 32GB Corsair DDR4 3200MHz RAM, Samsung 850 EVO 500G SSD, 4x750GB HDD in RAID5, Gigabyte Z170X-Gaming 7 Motherboard, Corsair Obsidian 750D Airflow Edition Case, Corsair RM850i PSU, HTC Vive, Win 10 64bit

Alienware M17x R4 w/ built in 3D, Intel i7 3740QM, GTX 680m 2GB, 16GB DDR3 1600MHz RAM, Win7 64bit, 1TB SSD, 1TB HDD, 750GB HDD

Pre-release 3D fixes, shadertool.py and other goodies: http://github.com/DarkStarSword/3d-fixes
Support me on Patreon: https://www.patreon.com/DarkStarSword or PayPal: https://www.paypal.me/DarkStarSword

Posted 07/16/2016 08:16 PM   
  61 / 87    
Scroll To Top