Added auto-save option to home page and visual indicator when preset was modified but not saved yet (and removed previous option on settings page)
Added startup preset option (current preset is reset to that one every time ReShade is loaded)
Added option to create a new preset from an existing template
Added confirmation popup before deleting global preprocessor definition from configuration
Added warning message to home page when no effect files were found
Added warning log message when an effect search path could not be resolved
Added option to play an audio file when taking a screenshot
Added support for loading add-ons with ".addon32" or ".addon64" file extension (depending on whether the game is 32-bit or 64-bit)
Added "reshade_set_current_preset_path" add-on event that is called whenever the preset is changed
Added "reshade_reorder_techniques" add-on event that is called whenever the order of techniques is changed (and also added an API method to change the order)
Added add-on API method to block keyboard and mouse input
Added "%Count%" macro to include number of screenshots in screenshot file name
Changed effect caching to include used preprocessor definitions
That way the "Preprocessor definitions" category in the variable list is now hidden entirely when no preprocessor definitions need to be shown, even when an effect was loaded from cache
Bug fixes:
Fixed ReShade not showing up in No Man's Sky VR
Fixed huge performance hit in Hogwarts Legacy
Fixed crash in D3D12 on Intel hardware
Fixed crash in Cyberpunk 2077 and some other D3D12 games (requires the "Copy depth buffer during frame to prevent artifacts" option to be enabled!!)
Fixed corrupted technique handles after sorting techniques
Fixed uninitialized memory being written to log during DXGI composition swapchain creation
Fixed incorrect map flag for textures in D3D10/11
Fixed D3D9/10/11 push descriptor bindings
Fixed OpenGL cube map updates with multiple faces
Disabled alternative D3D11 state block implementation again because it breaks RTSS
Miscellaneous:
Added tooltips to preset buttons
Added log level enum to add-on API
Added a couple more dynamic pipeline states in D3D10/11
Added support for binding zero pipeline handle in D3D9/10/11/12
Added "gl[...]Separate" hooks to more accurately pass OpenGL state to add-ons
Added "glClear(...)Bufferi(u)v" hooks
Changed preprocessor error when opening included file failed to only show file name
Changed preset saving to never remove "TechniqueSorting" key from existing presets
Changed screenshot post-save command to support executables in PATH
Changed used preprocessor definition filter to hide already defined ones
Changed function parameter order of "AddonInit" and "AddonUninit" add-on entry points
Changed add-on loading failure log message level from warning to error
Changed "reshade_reloaded_effects" event to also be called after destroying previous effects during reload (to give add-ons the change to clean up invalidated handles)
Setup tool:
Added detection for EA Desktop games
Added warning message box when list of available effect packages failed to download, rather than just skipping those pages silently
Fixed crash when encountering wildcard in search path
Fixed setup tool not changing file permissions of default preset file when it does not exist yet
Changed setup tool to extract archive using memory stream instead of a temporary file