STEAM GROUP
Special K - "Kaldaien's Mod" Special☆K
STEAM GROUP
Special K - "Kaldaien's Mod" Special☆K
213
IN-GAME
1,919
ONLINE
Founded
May 23, 2016
Language
English
All Discussions > Development > Topic Details
 This topic has been pinned, so it's probably important
Kaldaien Apr 29, 2017 @ 3:50pm
Special K - v 0.8.65 [Legacy Release] - (1/15/18)
Release Note History (in lieu of documentation)
I am too busy experimenting to write proper long-term documentation... :pointless:
    You may find useful pseudo-documentation here[gitlab.com]

Releases
    Branch=Latest
      1/15/18
      v 0.8.65[github.com]Improved Startup Performance
      1/14/18
      v 0.8.64[github.com]Fix missing overlay in D3D11
      1/13/18
      v 0.8.62[github.com]DirectInput 7 Support + More OpenGL stuff
      1/9/18
      v 0.8.61[github.com]More OpenGL Improvements
      1/5/18
      v 0.8.60[github.com]Improved OpenGL and Global Injection Support
      1/2/18
      v 0.8.59[github.com]Steam Common Redistributable Disposal
      1/1/18
      v 0.8.58[github.com]Happy New Year
      12/21/17
      v 0.8.57[github.com]Improved Steam Controller Support
      12/19/17
      v 0.8.56[github.com]Fix Handle Leak in Applications Blacklisted from Injection
      12/18/17
      v 0.8.55[github.com]RivaTuner Statistics Server Compatibility
      12/15/17
      v 0.8.54[github.com]Improved OKAMI HD / 大神 絶景版 shader modding
      12/2/17
      v 0.8.52[github.com]32-bit Injection Compat Fix
      11/3/17
      v 0.8.50.4[github.com]Enhanced Framerate Limiter + D3D11 Texture Reload
      10/2/17
      v 0.8.46[github.com]Fix config for Steam games with non-Latin names
      9/29/17
      v 0.8.45[github.com]D3D9 Texture Injection Optimization
      9/23/17
      v 0.8.44[github.com]Denuvo Activation Management (Steamworks only)
      9/18/17
      v 0.8.43[github.com]Divinity: Original Sin 2 Optimizations
      9/5/17
      v 0.8.41[github.com]File | Exit
      9/3/17
      v 0.8.39[github.com]D3D9 Shader Mod Tools + Clothing Optional
      8/31/17
      v 0.8.37[github.com]Preliminary Native Steam Controller Support
      8/27/17
      v 0.8.36[github.com]First Anniversary Release
      8/7/17
      v 0.8.33[github.com]Multi-colored graph widgets
      7/23/17
      v 0.8.26[github.com]G-Sync Status in OSD
      7/20/17
      v 0.8.25[github.com]Many fixes for Mouse Effect: Agh! and ReShade.
      7/15/17
      v 0.8.24.3[github.com]Multi-threaded Rendering / TexCache Fixes
      7/11/17
      v 0.8.24[github.com]Final Fantasy 8 (Preliminary DirectInput 7 Support)
      7/9/17
      v 0.8.23.1[github.com]Streamlined SKIM64 Experience
      7/8/17
      v 0.8.22.8[github.com]Fairy Fencer AD Middleware License Fix
      7/2/17
      v 0.8.21.3[github.com]SKIM Replaces inject.bat / uninject.bat
      7/1/17
      v 0.8.20[github.com]Compatibility Updates
      6/21/17
      v 0.8.19[github.com]Compatibility Updates
      6/21/17
      v 0.8.18[github.com]Improved Version Management
      6/20/17
      v 0.8.17[github.com]Auto-Update
      6/19/17
      v 0.8.16[github.com]In-game fullscreen toggle added to D3D11
      6/18/17
      v 0.8.15[github.com]Compatibility Menu (HOLD Ctrl + Shift at game start)
      6/16/17
      v 0.8.14[github.com]DirectDraw Support + New Injection Menu
      6/11/17
      v 0.8.13[github.com] D3D11 Texture / Shader Modding
      5/16/17
      v 0.8.12[gitlab.com] { No Auto-Update Support Yet }


Test Releases
    Branch=Testing
      12/13/17
      v 0.8.53.6[github.com]Dbghelp.dll changes for League of Legends Compat
      11/29/17
      v 0.8.52.1[github.com]Global Keyboard Macros
      11/23/17
      v 0.8.51[github.com]World of Final Fantasy Compatibility
      10/28/17
      v 0.8.49.2[github.com]Custom ReShade supports wrapper DLLs + Global Injection Whitelist
      10/5/17
      v 0.8.47.5[github.com]D3D11 Shader State Profiles
      9/3/17
      v 0.8.40[github.com]XInput Slot Reassignment
      8/14/17
      v 0.8.35[github.com]Improved D3D11 Texture Mod Support
      8/10/17
      v 0.8.34[github.com]Custom ReShade Support

      8/6/17
      v 0.8.32[github.com]Steam Game Profiles No Longer use <appname.exe>
      8/5/17
      v 0.8.31[github.com]Added Gamepad Input Support to Widgets
      8/2/17
      v 0.8.30[github.com]Fixed DDRAW and D3D8 API Wrapping
      8/1/17
      v 0.8.29[github.com]Improved UI Widgets
      7/29/17
      v 0.8.28[github.com]Increased Log/Config/Startup Performance
      7/27/17
      v 0.8.27[github.com]OSD Widgets
Last edited by Kaldaien; Feb 10, 2018 @ 10:43am
< >
Showing 1-15 of 8,295 comments
Aemony Apr 29, 2017 @ 6:05pm 
Minor thing I noticed: http://i.imgur.com/R6SXVvm.png

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.
Kaldaien Apr 29, 2017 @ 6:43pm 
Yeah, part of the problem is the resolution override :-\ That ain't mouse friendly :)

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.
JBeckman Apr 29, 2017 @ 8:47pm 
d3d12=true still toggles to d3d12=false (Tested in Deus Ex Mankind Divided this time and not Nier Automata.) but aside from that there's been no issues with 0.8.0 so far, liking all the options this now has even if I'm only using a small set of all these features. :D


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. :)
Last edited by JBeckman; Apr 29, 2017 @ 8:51pm
Kaldaien Apr 29, 2017 @ 9:06pm 
I had to turn it off because it was blowing up Far Cry 4 with ReShade. I have a way to fix that correctly now, thank heavens it's open source.
Isolated Rainbow Apr 29, 2017 @ 9:18pm 
Is there any beginner guides on ReShade you have?
JBeckman Apr 29, 2017 @ 10:26pm 
Originally posted by Kaldaien:
I had to turn it off because it was blowing up Far Cry 4 with ReShade. I have a way to fix that correctly now, thank heavens it's open source.

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:
Originally posted by Isolated Rainbow:
Is there any beginner guides on ReShade you have?

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
Last edited by JBeckman; Apr 29, 2017 @ 10:38pm
Kaldaien Apr 29, 2017 @ 11:03pm 
Oh, that's awesome. I always thought Valve was completely stupid for not supporting that. I mean GOG has every single version of every game they sell right there in the open... that gets annoying at times (before they had the Galaxy client), but it's handy for games that are frequently patched.

----

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
Isolated Rainbow Apr 29, 2017 @ 11:03pm 
I don't have any options when I load up the reshare GUI. I'll have to post screenshots when I get home. Can load it, but don't have any options :(
Kaldaien Apr 29, 2017 @ 11:07pm 
Originally posted by Isolated Rainbow:
I don't have any options when I load up the reshare GUI. I'll have to post screenshots when I get home. Can load it, but don't have any options :(

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.
Isolated Rainbow Apr 30, 2017 @ 12:37am 
Do I need to install SweetFX? I've never been able to figure out ReShade. :( That's why I haven't ever used it
Isolated Rainbow Apr 30, 2017 @ 1:03am 
Alrighty, got them loaded in. :)

Now, what do I do? There are so many options!
JBeckman Apr 30, 2017 @ 1:04am 
You can either use the setup tool and download the shaders you want or you can download the shader pack from https://github.com/crosire/reshade-shaders and use that but I recommend placing the shaders you are not using in a separate folder so they don't get loaded as it really adds to the time it takes for ReShade to compile said shaders.

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.)
Last edited by JBeckman; Apr 30, 2017 @ 1:15am
Kaldaien Apr 30, 2017 @ 3:04am 
Okay, so... I wrote a new injector for Special K. It's going to need a lot of testing, but the way this one works is whenever a program creates a window on your system, my DLL is injected.

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.
Aemony Apr 30, 2017 @ 4:03am 
Can you use services for this?

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.
IIIelKot Apr 30, 2017 @ 4:45am 
Afterfall Insanity crashing at launch with no crash.log. But, if startup intros is disabled, all works fine. Previos versions also works.
logs [drive.google.com]
< >
Showing 1-15 of 8,295 comments
Per page: 15 30 50

All Discussions > Development > Topic Details