Sonntag, 11. Dezember 2011

injectSMAA v1.2

Just two words: Paradigm shift. I modularised the C code into C++classes and am fully prepaired for any regressions to fix that you throw at me. It helped to find tiny memory leaks and improve (at least theoretical) compatibility.
I added some configuration possibilities with an ini file. Now you can map the keycodes freely and change the SMAA preset.

It is time comment on some feature requests. Jorge and I seriously doubt that the T2x mode will be injectable with the current method. The S2x mode maybe will be possible in the future but not with d3d9.
Also I seriously doubt that the injector can be compatible with overlays as they really have their own mysterious ways and often use the same injecting methods, which are partially mutually exclusive.
Nevertheless I looked into the Steam overlay issue with Skyrim (bright picture) and after hours have randomly discovered a possible fix. The good news is - it seems to work on my machine. The bad news is - I have no idea why it works. Just take a look the the hack itself:

//weird steam overlay hack
DWORD newSrgbWriteEnable=0;
if (Device->GetRenderState(D3DRS_SRGBWRITEENABLE,&newSrgbWriteEnable) == D3D_OK )   
    Device->SetRenderState(D3DRS_SRGBWRITEENABLE,newSrgbWriteEnable);
DWORD newSrgbTextureSamplerState;
if ( Device->GetSamplerState(0,D3DSAMP_SRGBTEXTURE,&newSrgbTextureSamplerState) == D3D_OK)
    Device->SetSamplerState(0,D3DSAMP_SRGBTEXTURE,newSrgbTextureSamplerState);
Yes, it reads and writes the srgb state without any change. Feel free to tell me why it is helpful to steam.
For more information visit the "injectSMAA" page.