Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
The mouse cursor isn't actually above the selected option when using mixed mode and navigating using a controller. The mouse cursor jumps around according to the gamepad, but is about 50px or so below.
Another thing I noticed (consequence of the above?) is that if I moved the menu up to get to all options available all of a sudden I couldn't actually click on any option, instead clicking and draging moved the whole game window around.
I've put a ton of work into separating the game's native coordinate space from my own so that a game can be tricked into running at a different resolution than it wants but mouse input is a real pain in the butt when designing something like that.
I don't officially support mice when you use a resolution override. The good news is (for the config UI), you can go into input exclusive mode and use a keyboard or gamepad while overriding resolution. But that still leaves the game's mouse coordinate system mismatching Windows' and definitely not a solution for games that need a mouse.
EDIT: Well I can't really read code too well but I guess it's that commit.
https://github.com/Kaldaien/SpecialK/commit/84f75f8bb68f29974a2208f86f24c25d7f654415
+ config.apis.dxgi.d3d12.hook = false;
+ return 0;
+
Perhaps it's by design though. :)
Oh so that's what it meant with Far Cry 4 compatibility, but that's a DX11.x game only so I wonder how that happened (Especially since the D3D12 hook can be turned off now via ini editing.) but yeah if Crosire has the time to look into pull requests and update ReShade further then getting it fixed on ReShade's end sounds like it would be a good idea.
EDIT:
There isn't really all that much too ReShade besides getting it to work nice with SpecialK via proxy. :)
Looks something like this in the SpecialK ini file.
[Import.ReShade32]
Architecture=Win32
Blacklist=
Filename=ReShade32.dll
Role=ThirdParty
When=PlugIn
[Import.ReShade64]
Architecture=x64
Blacklist=
Filename=ReShade64.dll
Role=ThirdParty
When=PlugIn
If you get the ReShade text prompt in the upper corner and can toggle it's OSD (Shift+F2 I think it was by default.) then that's about it from what can be done although the "When" section can also work as "Lazy" for 32-bit which might be more compatible depending on the game.
ReShade also doesn't work under DX12 or Vulkan (yet.) so no chance of getting it functional in games using those API's.
And as for configuring ReShade I don't think any of the options have a effect on compatibility but the more shaders you load the more work the processor has to do and more active shaders can have a very high impact on performance even if it might not seem like it at first.
(Display resolution also plays a role as does memory usage.)
EDIT: Huh bit random but it seems you can actually roll back game versions via the Steam dev console. Handy. :D
http://www.neogaf.com/forum/showthread.php?p=235126618#post235126618
----
Regarding Far Cry 4, the funny thing about it is the whole stupid thing is triggered by a weird practice Ubisoft has where they load the dxdiag tool in the background and start doing compliance checks against every version of D3D on your system.
That's a flipping fantastic way to confuse the living hell out of any mods that work the way mine or ReShade do :) First it loads D3D9, then 10, then 11, then 12. By the end of that nightmare you're lucky if you didn't just crash 2 or 3 overlays :P
You need fx files, it's mentioned in the release notes that ReShade's going to look in the wrong directory when first installed to the global location. It's actually 1 directory below where it should be fore some reason.
Now, what do I do? There are so many options!
For the setup tool itself I just hold down CTRL and press the install button and it'll dump ReShade32 and ReShade64 .dll in the current folder which can then be copied over as needed. :)
ReShade then uses a settings ini with info on what shaders you use which looks something like this to use my own setup as a example:
(This is normally managed without needing the user to edit said file.)
""
KeyDeband=0,0,0,0
KeyDisplayDepth=122,0,0,0
KeySMAA=0,0,0,0
Techniques=Deband,SMAA
TechniqueSorting=DisplayDepth,Deband,SMAA
[Deband.fx]
Grain=0.006000
Iterations=1.000000
Range=16.000000
Threshold=0.004000
[SMAA.fx]
CornerRounding=0.000000
DebugOutput=0.000000
EdgeDetectionThreshold=0.050000
EdgeDetectionType=1.000000
MaxSearchSteps=112.000000
MaxSearchStepsDiagonal=20.000000
""
And then you have a settings ini for the ReShade program settings which is a bit like this:
(This is what you need to set up for ReShade so it can load shaders and find the .fx files for them.)
""
[INPUT]
InputProcessing=1
KeyEffects=112,0,1
KeyMenu=113,0,1
KeyScreenshot=44,0,0
[GENERAL]
CurrentPreset=0
EffectSearchPaths=C:\Users\Jonas\AppData\Roaming\ReShade\Shaders\
FontGlobalScale=1.0
PerformanceMode=0
PreprocessorDefinitions=RESHADE_DEPTH_LINEARIZATION_FAR_PLANE=1000.0,RESHADE_DEPTH_INPUT_IS_UPSIDE_DOWN=0,RESHADE_DEPTH_INPUT_IS_REVERSED=0,RESHADE_DEPTH_INPUT_IS_LOGARITHMIC=0
PresetFiles=C:\Users\Jonas\AppData\Roaming\ReShade\ReShade_Settings.ini
ScreenshotFormat=0
ScreenshotPath=C:\Games\
ShowClock=0
ShowFPS=0
TextureSearchPaths=C:\Users\Jonas\AppData\Roaming\ReShade\Textures\
TutorialProgress=4
[STYLE]
Alpha=0.950000
ColActive=0.200000,0.500000,0.600000
ColBackground=0.275000,0.275000,0.275000
ColFPSText=1.000000,1.000000,0.000000
ColItemBackground=0.447000,0.447000,0.447000
ColText=0.800000,0.900000,0.900000
""
EffectSearchPaths=C:\Users\Jonas\AppData\Roaming\ReShade\Shaders\
TextureSearchPaths=C:\Users\Jonas\AppData\Roaming\ReShade\Textures\
These are the main ones, have to set the path where ReShade stores it's shaders and related textures.
I normally use a single simpler config file for just SMAA and deband (And now also depth.) which I use as a initial preset for every game.
So for SpecialK and it's method for handling ReShade it would be something like this:
EffectSearchPaths=C:\Users\Jonas\Documents\My Mods\SpecialK\Global\ReShade\Shaders
TextureSearchPaths=C:\Users\Jonas\Documents\My Mods\SpecialK\Global\ReShade\Textures
For example, username will be whatever you have set your Windows account name as of course and the textures and shader folders can be named whatever but I kept it simple, textures folder contain the .dds and other files used by certain shaders and the sahders folder contain ReShade.fxh and any .fx shader you want to load. :)
EDIT: Oh yeah the shader settings ini path too.
PresetFiles=C:\Users\Jonas\Documents\My Mods\SpecialK\Global\ReShade\ReShade_Settings.ini
(Or what you want to call it.)
This can all be set up from within ReShade's OSD too, I rarely use it myself but it can be convenient to do it from in-game instead of manually editing files.
(ReShade has a tutorial walking you through most of this come to think of it, forgot about that.)
EDIT: Ah you got it loaded already while I was writing this, there's not much else to it then, you can just enable and disable the shader effects you prefer to use from ReShade's OSD and toggle shader specific settings.
It's mostly just trial and error and finding what you find looks best or downloading ready made presets via https://sfx.thelazy.net/games/
I mostly gave up on that and just use it as a simple anti-aliasing addition with some deband as a extras and also being able to check the depth buffer for games using logarithmic and such methods so I can see if it's being detected or not.
After doing the initial setup though it's mostly down to copy/pasting with the main "problem" now being with copying ReShade32 or ReShade64 as needed into some 500+ folders for the current installed games and naming them correctly whether it's d3d9, dxgi or opengl32 dll ha ha.
(But that might be over now with SpecialK, which is going to be really nice once set up.)
This actually delays loading the DLL long enough that Windows 10 Creator's Downgrade should be happy, but early enough that I can intercept all render API functionality before a render window is finalized.
You will need a program running in the background at all times to enable the injection, but I don't think anyone should really object to this? In fact you're going to need two programs running in the background because I need a 32-bit and 64-bit version.
1. Register the injectors as services on the computer.
2. Throw together a simple traybar application that shows status for the services and simple start/stop/restart commands.
3. Three processes will run, but the traybar application can give the user an easy way to start (on launch of the traybar app) or stop (on exiting the traybar app) the injectors.
The above solution will also allow powerusers to manually set the services to run Automatically (or Automatically (Delayed Start)) and bypass the traybar icon entirely if they don't like it.
logs [drive.google.com]