emoose / DLSSTweaks

Tweak DLL for NVIDIA DLSS, force DLAA on DLSS-supported titles, tweak scaling ratios & DLSS 3.1 presets, override DLSS versions without overwriting game files.
MIT License
1.31k stars 21 forks source link

DLSSTweaks ConfigTool beta #68

Open emoose opened 1 year ago

emoose commented 1 year ago

Had a look into making a simple config tool since quite a few people didn't like messing with INI files, came up with something a little similar to NV Control Panel's settings editor:

image

Should be pretty easy to use, just extract to same folder as any dlsstweaks.ini and then run the app, then you can edit any of the settings & press Save to apply them.

Description of each setting should get displayed in the lower box, DLL overrides can also be added with a file selection window. The descriptions & settings displayed are all taken from the INI file, so if you've removed the comments from the INI then they won't display in this tool, might look into adding some workaround for that in future.

Download for the tool can be found at bottom of https://github.com/emoose/DLSSTweaks/releases/tag/0.200.5-beta5, in the files section.

I'm not totally sure how this will run on other machines besides mine, would appreciate hearing from anyone that tries it out, whether you had any issues setting it up/running it/etc.

(please let me know if you get any .NET not found errors or anything of that sort too)

emoose commented 1 year ago

Pushed a minor 0.200.6.0-beta2 update to https://github.com/emoose/DLSSTweaks/releases/tag/0.200.5-beta5, just adds indicator to window when a setting has been changed.

emoose commented 1 year ago

0.200.6.0-beta3a pushed to https://github.com/emoose/DLSSTweaks/releases/tag/0.200.5-beta5

That changes it to use .NET 4.8.1 (which more people are likely already have installed), and also adds some icons & minor fixups.

emoose commented 1 year ago

and another update pushed, DLSSTweaks.ConfigTool_0.200.6.0-beta4: https://github.com/emoose/DLSSTweaks/releases/tag/0.200.5-beta5

Changed some fonts and added a couple more choice selections (instead of needing to type value in manually), can configure the UltraQuality setting from the tool now too.

apan65 commented 1 year ago

it is not possible to make UI for changing settings in real time?

Z4ndyz commented 1 year ago

Hello emoose Do you think it would be possible for the ConfigTool or another version of it to be able to add the dll and the .ini file to a folder we specify? No need for proper game detection but a button that conveniently adds the two files

emoose commented 1 year ago

@apan65 should be able to alt-tab out of game and use config tool to change most settings during runtime, it depends on the game which settings will take effect though (might have to go into game settings & change DLSS level for things to apply)

@Z4ndyz oh nice idea, could probably add a button that lets you select game folder to copy files to, will try looking into that soon.

apan65 commented 1 year ago

@apan65 should be able to alt-tab out of game and use config tool to change most settings during runtime, it depends on the game which settings will take effect though (might have to go into game settings & change DLSS level for things to apply)

@Z4ndyz oh nice idea, could probably add a button that lets you select game folder to copy files to, will try looking into that soon.

If implement imgui ingame?

SubSonix commented 1 year ago

Thanks, I love having a lazy way to do things :)

Seriously, thank you for all of your work :)

Edit Worked perfectly with the 0.200.6 download and HoL testing.

emoose commented 1 year ago

Think I've got a "Copy to game folder" button working pretty well, first it'll check the folder ConfigTool is running from for a valid dlsstweaks DLL & INI file, and then allow picking a folder to copy to.

Then copies the DLL + INI + ConfigTool itself into the chosen folder, and finally offers to let you launch the copied ConfigTool for you to configure the install 😸

Should be able to use this to both install fresh version of DLSSTweaks, and also copy an DLSSTweaks install across to other games too. (it doesn't handle renaming the DLL at all though, but if you're using nvngx.dll method it shouldn't really matter)

If anyone wants to help test it build can be found at bottom of https://github.com/emoose/DLSSTweaks/releases/tag/0.200.6

In future I'd like to try adding a way of detecting UE4 games to that too, so it could check if user is installing to correct folder for them ([gameName]\Binaries\Win64\), not really sure how to check that yet though...

emoose commented 1 year ago

Pushed another build DLSSTweaks.ConfigTool_0.200.6.1-beta2.zip, should fix the issue with setting descriptions having empty lines removed after saving, will now fetch the descriptions from a built-in default INI instead.

Build can be found at bottom of https://github.com/emoose/DLSSTweaks/releases/tag/0.200.6

emoose commented 1 year ago

Posted DLSSTweaks.ConfigTool_0.200.6.1-beta3.zip, this now warns user at startup if nvngx.dll is being used without the registry override set, and also offers to set it for them. (you can also enable/disable the NV override from the settings list now too)

The Copy to game folder... command can now scan the game EXE located in the folder being copied to, and shows a list of possible DLL filenames that our DLL can wrap:

image

(I'm not really sure how well that dialog works across different resolutions/DPI settings though, please let me know if it looks messed up for you)

Also added a context-menu when right-clicking on a DLL override too, letting you remove the entry or rename the DLL filename that it's overriding.

Thinking about adding some way of letting each ConfigTool instance register itself in the registry somewhere too, then could add some kind of drop-down in the tool to let you switch between each instance quickly, will probably look into it more soon.