[Watch Dogs] Disable flashing objects, and excessive brightness?

Discussion in 'Game Tweaks and Modifications' started by Deebz, Nov 2, 2014.

  1. tall70

    tall70 Member

    Messages:
    13
    Likes Received:
    0
    GPU:
    gtx770
    Just for information if somebody ever have same issue as i have. After installing recent new nvidia drivers, i can run both dlls without using RadeonPro, just like i was told it should have worked for me. Unfortunately my fps problem remains with i7 4770, 16gb ram and 4gb gtx770. I tried most old versions of it and i would so love to use this.
     
  2. dhwang

    dhwang Member

    Messages:
    38
    Likes Received:
    0
    GPU:
    nvidia GTX 560 ti
    Wow! Well done, guys. :)

    At first, I got CTD while launching WD. After deleting nvapi64.dll, everything is fine. The only problem is that removing white lines at traffic light will also make the pipe hacking mini-game unplayable. Better to leave them until you finish the story.

    IMO, this is the must-have WD mod! Thanks you very much!
     
  3. tall70

    tall70 Member

    Messages:
    13
    Likes Received:
    0
    GPU:
    gtx770
    ^ lol, unfortunately many of other attempts had similar effect. I removed some climb and other buttons and all icons from map was gone as well.
     
  4. Sockenschock

    Sockenschock Member Guru

    Messages:
    171
    Likes Received:
    0
    GPU:
    Nvidia Gtx 680 2 Gb
    I´m really sorry for the following dumb question, but finally even I wanna get rid of the highlighting but I´m facing some issues.

    Where is the Shader Fixes Folder? In my bin Folder there are no folders at all except my "Sweet FX folder"
     

  5. tall70

    tall70 Member

    Messages:
    13
    Likes Received:
    0
    GPU:
    gtx770
    in 3dmigoto, folow Leemonoid's guide on 1st page
     
  6. Voodooman

    Voodooman Member

    Messages:
    17
    Likes Received:
    0
    GPU:
    Zotac Geforce GTX 680 4gb
    Im glad to see my suggested method worked out well.

    One i learned long ago that helix can disable or load modified shaders i decided to try it to remove effects i never liked, it worked, then i notticed that some shaders controls even hud and highlightin of items, so that thats how i invented this method of usage of 3d fixing wrapper as Immersion\realism\hud\post effects fixing wrapper.

    To be honnest, about 5 years ago or even more i personally asked Boris Vorontsov to implement generic shader dump and injection into ENB, but he was quite selfish and probably did not want other guy to fix shaders, so he refused to make generic enb that dumps and inject shaders in any game. And once i saw helix it was like "hey that the tool i was looking for".

    Since then i used this non standarads method with helix (was not much of dx11 games so i never tried 3d migoto) to disable\fix hud elements and ugly color grading in many games for about 2 years, because i really dislike unnatural colors and intrusive huds and narrow-minded devs dont provide any options to disable their "creative stupid vision" of game.

    Recently this method helped me to fight all of these lense flares, lense dirts, glowing interactive items, overused DOFs and color grading in hell lot of games, but im having troubles with dx10+ games, since helix dont support them and i have hard times using 3dmigoto.

    I think 3dmigoto is far more superior comparing to helix, but for me it does not work in many games, and does not show any on screen overlay with indexed number of shader, it hash and stuff that helix shows during shader hunt, so i cant even tell if hunting mode works or not. Just now i tried hunting down few annoying shader in GTA V (T, F, M ugly green, blue, red distored effects when they use their supper powers - in case of T i can barely see whats going on on screen, thanks to these stupid effects, also wanted to remove dof and color grading from weapon selection and main menu and focus mode and character selection. and i wanted to remove glow around money, weapons, and other interactive items ), but 3dmigoto does not seems to work at all.

    No on screen indication of curently selected shader, pressing keypad buttons like 100 times aint disabled or dumped any shader, folders are empy, so i dont know what to do, maybe author of this tool can check GTA 5, fix something to make it work, add overlay with information about selected shader just like in helix, also add some visual indication of disabled effect, like for example making disabled effect half-transparent green (like in texmod) ?

    @bo3bber , please help me to make 3dmigoto work in gta v!

    Also, since we met here, and since you see now other way i invented to use helix and 3d migoto i would like to request one feature that i really need for these kinds of mod - please, allow texture dumping and injection just like in gedosato, you can actually borrow part of gedosato sourcecode to make texture dumps and mods 100% compatible between both tools. Unfortunately gedosato does not come with wrapper that can be distributed with mods. and in many cases hooking just fails.

    Another thing i would like to request - can you please take some time to make a dx9 version? helix is old, barely documented, not actively developed and pretty unstable and slow in some games, replacing it with dx9 version of 3d migoto would give a lot of advantages.

    And one more thing - please add alternate non d3d imports and hooks for generic libs like version.dll, user32.dll, kernel32.dll, because some games, like for example MK9 does not like d3d wrappers and refuse to start when wrapper detected, but other libraries works like charm, also using non d3d dlls for hooks allows to avoid collision with overlay tools like Raptr, Xfire and stuff like that which crash games when they attempt to hook not system d3d library. You can see how eFX and reshade author does that in his shader injector.
     
  7. ThatGuyOverTher

    ThatGuyOverTher Master Guru

    Messages:
    569
    Likes Received:
    3
    GPU:
    Gigabyte GTX980
    Maybe this method can also load up the relief mapping shader on more things?
    Just for experimenting, and if it works then it would be pretty cool

    Can anyone find something to load the reliefmapping?
     
  8. bo3bber

    bo3bber Member

    Messages:
    23
    Likes Received:
    0
    GPU:
    GTX 760 SLI
    Sorry I didn't see your questions here earlier. Voodooman pointed out some questions.

    For the performance hit- you want to be certain that 3dmigoto's d3dx.ini file has 'hunting=0' when you are playing the game. Otherwise you take a huge performance hit as it is in hunting mode, which means it has to save every shader seen, and keep lists, and all kinds of stuff. 'hunting=0' means to just use the shaders in ShaderFixes folder, nothing else. I've measured the performance hit of 3Dmigoto as being about 3% of CPU when 'hunting=0'.


    Next thing is that with a little effort, you could make a key toggle to enable/disable the flashing white effect. So for example, when you hit a mini-game with pipes where you need it on, you could hit a key and reenable it for that.

    As an example, look at our game fix for FarCry 4 on Github:

    https://github.com/bo3b/3Dmigoto/tree/master/FC4

    You can find the .ini file and some shaders that use the constants in the code for off/on effects.
     
    Last edited: Apr 25, 2015
  9. bo3bber

    bo3bber Member

    Messages:
    23
    Likes Received:
    0
    GPU:
    GTX 760 SLI
    This is a cool technique, I'll see if I can support your effort here too. My primary goal is making stuff work in stereo-3D because it's sooo good. But there should be no problem allowing you to save and edit shaders as you like.

    Some of your ideas there are good, and I'd love to do them, but it's just too much work. That's why I had the code open-sourced- anyone can grab it and go. Changing from wrapping to hooking is months of effort. Might be valuable, but I'd need someone else to do that work, as I'm hands-full making 3D fixes.

    I agree that HelixMod is getting rusty, and I talked to Helix to see if he'd open-source it, but it didn't happen. So, I am in progress of making a new wrapper for DX9 games, but it'll be awhile. That development is oriented around hooking, not wrapping, and current goal is to use external injection.


    I especially like your idea of using texture techniques from Gedosata, I'll take a look. 3Dmigoto needs some texture handling to be able to separate textures, and this might be the way to go.
     
  10. The Silver

    The Silver Master Guru

    Messages:
    602
    Likes Received:
    14
    GPU:
    GTX 770 2GB
    Sorry for bringing back this old topic, but it's awesome and my question is surely related to shaders.

    Is it possible to disable the white outline of the tagged enemies? :)
     

  11. bo3bber

    bo3bber Member

    Messages:
    23
    Likes Received:
    0
    GPU:
    GTX 760 SLI
    Should work. You'll want to use an older version of 3Dmigoto, whatever was used above. Or I think the 1.0.1 version will work. Pretty sure the latest version of 1.2.1 doesn't work with WatchDogs at the moment.

    Use the technique above, set hunting=1 in the d3dx.ini file, and use the numpad keys 1,2 to look for the pixel shader. It will cycle through them, find where it goes blank, and then hit 3 to 'mark' the shader.

    That shader will be in the ShaderFixes folder, and you can set the output to zero. Look for SV_Target variable, it will be like o0 or o1. At the bottom, right before return, put "o0=0;" No quotes. That makes it disappear.

    Press F10 to reload the shader live, and it will high beep if it worked correctly, and you'll see it disappear. Low beep means a syntax error.
     
  12. The Silver

    The Silver Master Guru

    Messages:
    602
    Likes Received:
    14
    GPU:
    GTX 770 2GB
    Thanks for the answer! :) However I must be doing something wrong because it doesn't work, or at least I can't tell if it's working... :O I tried the version used in this thread (the WD specific 0.91) but after setting hunting=1 in the d3dx.ini file I don't see anything happening ingame by pressing the keys 1 and 2 of the keypad, nothing at all, nor pressing 3 saves anything. :(
     
  13. The Silver

    The Silver Master Guru

    Messages:
    602
    Likes Received:
    14
    GPU:
    GTX 770 2GB
    Ok maybe I got something, I had to use the version 1.0.1 since the 0.91 apparently does nothing no matter how you config it... I was able to immediately notice that with v1.0.1 the keys works and shaders gets disabled, but it's also very very unstable and crashes the game in a few seconds most of the times. However after a lot of tries and a whole lot of luck I managed to get chased and escape, so I could tag a remaining foot cop and check his outline with plenty of time to test. :D
    I pressed numpad2 untill the outline disappeared, I double checked by moving on to the next shader and going back to the candidate with numpad1, then I pressed numpad3 to save it, after that I've set the output to 0 in the shader txt like the other fixes and loaded the game, but the result is just a black screen when an enemy is marked, I see the hud and his icon, but somewhat the "outline" is now a black screen, that properly gets back to normal when the enemy is killed meaning that it IS actually the outline, I just don't know how to remove it. :(

    So here's the original content of the 5f999051e69fd5ef-ps_replace.txt
    cbuffer Viewport : register(b0)
    {
    float4x4 _ViewRotProjectionMatrix : packoffset(c0);
    float4x4 _ViewProjectionMatrix : packoffset(c4);
    float4x4 _ProjectionMatrix : packoffset(c8);
    float4x4 _InvProjectionMatrix : packoffset(c12);
    float4x4 _InvProjectionMatrixDepth : packoffset(c16);
    float4x4 _DepthTextureTransform : packoffset(c20);
    float4x3 _ViewMatrix : packoffset(c24);
    float4x3 _InvViewMatrix : packoffset(c27);
    float4x4 _PreviousViewProjectionMatrix : packoffset(c30);
    float4 _CameraDistances : packoffset(c34);
    float4 _ViewportSize : packoffset(c35);
    float4 _CameraPosition_MaxStaticReflectionMipIndex : packoffset(c36);
    float4 _CameraDirection_MaxParaboloidReflectionMipIndex : packoffset(c37);
    float4 _ViewPoint_ExposureScale : packoffset(c38);
    float4 _FogColorVector_ExposedWhitePointOverExposureScale : packoffset(c39);
    float3 _SideFogColor : packoffset(c40);
    float3 _SunFogColorDelta : packoffset(c41);
    float3 _OppositeFogColorDelta : packoffset(c42);
    float4 _FogValues0 : packoffset(c43);
    float4 _FogValues1 : packoffset(c44);
    float4 _CameraNearPlaneSize : packoffset(c45);
    float4 _UncompressDepthWeights_ShadowProjDepthMinValue : packoffset(c46);
    float4 _UncompressDepthWeightsWS_ReflectionFadeTarget : packoffset(c47);
    float4 _WorldAmbientColorParams0 : packoffset(c48);
    float4 _WorldAmbientColorParams1 : packoffset(c49);
    float4 _WorldAmbientColorParams2 : packoffset(c50);
    float4 _GlobalWorldTextureParams : packoffset(c51);
    float4 _CullingCameraPosition_OneOverAutoExposureScale : packoffset(c52);
    float4 _AmbientSkyColor_ReflectionScaleStrength : packoffset(c53);
    float4 _AmbientGroundColor_ReflectionScaleDistanceMul : packoffset(c54);
    float4 _FacettedShadowCastParams : packoffset(c55);
    float4 _FSMClipPlanes : packoffset(c56);
    float2 _ReflectionGIControl : packoffset(c57);
    }

    cbuffer PostFxGeneric : register(b1)
    {
    float4 _Color : packoffset(c0);
    float4 _QuadParams : packoffset(c1);
    float4 _Random : packoffset(c2);
    float4 _UVScaleOffset : packoffset(c3);
    float2 _Tiling : packoffset(c4);
    float _Intensity : packoffset(c4.z);
    float _Parameter1 : packoffset(c4.w);
    float _Parameter2 : packoffset(c5);
    float _Parameter3 : packoffset(c5.y);
    float _Parameter4 : packoffset(c5.z);
    }
    SamplerState PostFxGeneric__TextureSamplerPoint__SampObj___s : register(s0);
    SamplerState PostFxGeneric__PostFxMaskTexturePoint__SampObj___s : register(s1);
    SamplerState PostFxGeneric__SrcSampler__SampObj___s : register(s2);
    Texture2D<float4> PostFxGeneric__TextureSamplerPoint__TexObj__ : register(t0);
    Texture2D<float4> PostFxGeneric__PostFxMaskTexturePoint__TexObj__ : register(t1);
    Texture2D<float4> PostFxGeneric__SrcSampler__TexObj__ : register(t2);

    Texture2D<float4> StereoParams : register(t125);
    Texture1D<float4> IniParams : register(t120);

    void main(
    float2 v0 : TEXCOORD0,
    float4 v1 : SV_Position0,
    out float4 o0 : SV_Target0)
    {
    float4 r0,r1,r2;
    uint4 bitmask, uiDest;
    float4 fDest;

    r0.xy = -_ViewportSize.zw + v0.xy;
    r0.x = PostFxGeneric__PostFxMaskTexturePoint__TexObj__.Sample(PostFxGeneric__PostFxMaskTexturePoint__SampObj___s, r0.xy).z;
    r0.y = ceil(r0.x);
    r1.xyzw = _ViewportSize.zwzw * float4(1.000000e+000,-1.000000e+000,-1.000000e+000,1.000000e+000) + v0.xyxy;
    r0.z = PostFxGeneric__PostFxMaskTexturePoint__TexObj__.Sample(PostFxGeneric__PostFxMaskTexturePoint__SampObj___s, r1.xy).z;
    r0.w = PostFxGeneric__PostFxMaskTexturePoint__TexObj__.Sample(PostFxGeneric__PostFxMaskTexturePoint__SampObj___s, r1.zw).z;
    r1.x = ceil(r0.z);
    r0.y = r1.x + r0.y;
    r1.x = ceil(r0.w);
    r0.x = max(r0.w, r0.x);
    r0.x = max(r0.x, r0.z);
    r0.y = r1.x + r0.y;
    r0.zw = _ViewportSize.zw + v0.xy;
    r0.z = PostFxGeneric__PostFxMaskTexturePoint__TexObj__.Sample(PostFxGeneric__PostFxMaskTexturePoint__SampObj___s, r0.zw).z;
    r0.w = ceil(r0.z);
    r0.x = max(r0.x, r0.z);
    r0.y = r0.y + r0.w;
    r0.z = PostFxGeneric__PostFxMaskTexturePoint__TexObj__.Sample(PostFxGeneric__PostFxMaskTexturePoint__SampObj___s, v0.xy).z;
    r0.w = ceil(r0.z);
    r1.x = max(r0.x, r0.z);
    r0.x = -r0.y * 2.500000000e-001 + r0.w;
    r0.x = abs(r0.x) * abs(r0.x);
    r0.xyz = _Color.xyz * r0.xxx;
    r1.y = 5.000000000e-001;
    r1.xyz = PostFxGeneric__TextureSamplerPoint__TexObj__.Sample(PostFxGeneric__TextureSamplerPoint__SampObj___s, r1.xy).xyz;
    r2.xyz = PostFxGeneric__SrcSampler__TexObj__.Sample(PostFxGeneric__SrcSampler__SampObj___s, v0.xy).xyz;
    o0.xyz = r0.xyz * r1.xyz + r2.xyz;
    o0.w = _Color.w;
    return;
    }

    /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    //
    // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
    //
    //
    // Buffer Definitions:
    //
    // cbuffer Viewport
    // {
    //
    // float4x4 _ViewRotProjectionMatrix; // Offset: 0 Size: 64 [unused]
    // float4x4 _ViewProjectionMatrix; // Offset: 64 Size: 64 [unused]
    // float4x4 _ProjectionMatrix; // Offset: 128 Size: 64 [unused]
    // float4x4 _InvProjectionMatrix; // Offset: 192 Size: 64 [unused]
    // float4x4 _InvProjectionMatrixDepth;// Offset: 256 Size: 64 [unused]
    // float4x4 _DepthTextureTransform; // Offset: 320 Size: 64 [unused]
    // float4x3 _ViewMatrix; // Offset: 384 Size: 48 [unused]
    // float4x3 _InvViewMatrix; // Offset: 432 Size: 48 [unused]
    // float4x4 _PreviousViewProjectionMatrix;// Offset: 480 Size: 64 [unused]
    // float4 _CameraDistances; // Offset: 544 Size: 16 [unused]
    // float4 _ViewportSize; // Offset: 560 Size: 16
    // float4 _CameraPosition_MaxStaticReflectionMipIndex;// Offset: 576 Size: 16 [unused]
    // float4 _CameraDirection_MaxParaboloidReflectionMipIndex;// Offset: 592 Size: 16 [unused]
    // float4 _ViewPoint_ExposureScale; // Offset: 608 Size: 16 [unused]
    // float4 _FogColorVector_ExposedWhitePointOverExposureScale;// Offset: 624 Size: 16 [unused]
    // float3 _SideFogColor; // Offset: 640 Size: 12 [unused]
    // float3 _SunFogColorDelta; // Offset: 656 Size: 12 [unused]
    // float3 _OppositeFogColorDelta; // Offset: 672 Size: 12 [unused]
    // float4 _FogValues0; // Offset: 688 Size: 16 [unused]
    // float4 _FogValues1; // Offset: 704 Size: 16 [unused]
    // float4 _CameraNearPlaneSize; // Offset: 720 Size: 16 [unused]
    // float4 _UncompressDepthWeights_ShadowProjDepthMinValue;// Offset: 736 Size: 16 [unused]
    // float4 _UncompressDepthWeightsWS_ReflectionFadeTarget;// Offset: 752 Size: 16 [unused]
    // float4 _WorldAmbientColorParams0; // Offset: 768 Size: 16 [unused]
    // float4 _WorldAmbientColorParams1; // Offset: 784 Size: 16 [unused]
    // float4 _WorldAmbientColorParams2; // Offset: 800 Size: 16 [unused]
    // float4 _GlobalWorldTextureParams; // Offset: 816 Size: 16 [unused]
    // float4 _CullingCameraPosition_OneOverAutoExposureScale;// Offset: 832 Size: 16 [unused]
    // float4 _AmbientSkyColor_ReflectionScaleStrength;// Offset: 848 Size: 16 [unused]
    // float4 _AmbientGroundColor_ReflectionScaleDistanceMul;// Offset: 864 Size: 16 [unused]
    // float4 _FacettedShadowCastParams; // Offset: 880 Size: 16 [unused]
    // float4 _FSMClipPlanes; // Offset: 896 Size: 16 [unused]
    // float2 _ReflectionGIControl; // Offset: 912 Size: 8 [unused]
    //
    // }
    //
    // cbuffer PostFxGeneric
    // {
    //
    // float4 _Color; // Offset: 0 Size: 16
    // float4 _QuadParams; // Offset: 16 Size: 16 [unused]
    // float4 _Random; // Offset: 32 Size: 16 [unused]
    // float4 _UVScaleOffset; // Offset: 48 Size: 16 [unused]
    // float2 _Tiling; // Offset: 64 Size: 8 [unused]
    // float _Intensity; // Offset: 72 Size: 4 [unused]
    // float _Parameter1; // Offset: 76 Size: 4 [unused]
    // float _Parameter2; // Offset: 80 Size: 4 [unused]
    // float _Parameter3; // Offset: 84 Size: 4 [unused]
    // float _Parameter4; // Offset: 88 Size: 4 [unused]
    //
    // }
    //
    //
    // Resource Bindings:
    //
    // Name Type Format Dim Slot Elements
    // ------------------------------ ---------- ------- ----------- ---- --------
    // PostFxGeneric__TextureSamplerPoint__SampObj__ sampler NA NA 0 1
    // PostFxGeneric__PostFxMaskTexturePoint__SampObj__ sampler NA NA 1 1
    // PostFxGeneric__SrcSampler__SampObj__ sampler NA NA 2 1
    // PostFxGeneric__TextureSamplerPoint__TexObj__ texture float4 2d 0 1
    // PostFxGeneric__PostFxMaskTexturePoint__TexObj__ texture float4 2d 1 1
    // PostFxGeneric__SrcSampler__TexObj__ texture float4 2d 2 1
    // Viewport cbuffer NA NA 0 1
    // PostFxGeneric cbuffer NA NA 1 1
    //
    //
    //
    // Input signature:
    //
    // Name Index Mask Register SysValue Format Used
    // -------------------- ----- ------ -------- -------- ------- ------
    // TEXCOORD 0 xy 0 NONE float xy
    // SV_Position 0 xyzw 1 POS float
    //
    //
    // Output signature:
    //
    // Name Index Mask Register SysValue Format Used
    // -------------------- ----- ------ -------- -------- ------- ------
    // SV_Target 0 xyzw 0 TARGET float xyzw
    //
    ps_5_0
    dcl_globalFlags refactoringAllowed
    dcl_constantbuffer cb0[36], immediateIndexed
    dcl_constantbuffer cb1[1], immediateIndexed
    dcl_sampler s0, mode_default
    dcl_sampler s1, mode_default
    dcl_sampler s2, mode_default
    dcl_resource_texture2d (float,float,float,float) t0
    dcl_resource_texture2d (float,float,float,float) t1
    dcl_resource_texture2d (float,float,float,float) t2
    dcl_input_ps linear v0.xy
    dcl_output o0.xyzw
    dcl_temps 3
    add r0.xy, v0.xyxx, -cb0[35].zwzz
    sample_indexable(texture2d)(float,float,float,float) r0.x, r0.xyxx, t1.zxyw, s1
    round_pi r0.y, r0.x
    mad r1.xyzw, cb0[35].zwzw, l(1.000000, -1.000000, -1.000000, 1.000000), v0.xyxy
    sample_indexable(texture2d)(float,float,float,float) r0.z, r1.xyxx, t1.xyzw, s1
    sample_indexable(texture2d)(float,float,float,float) r0.w, r1.zwzz, t1.xywz, s1
    round_pi r1.x, r0.z
    add r0.y, r0.y, r1.x
    round_pi r1.x, r0.w
    max r0.x, r0.w, r0.x
    max r0.x, r0.x, r0.z
    add r0.y, r0.y, r1.x
    add r0.zw, v0.xxxy, cb0[35].zzzw
    sample_indexable(texture2d)(float,float,float,float) r0.z, r0.zwzz, t1.xyzw, s1
    round_pi r0.w, r0.z
    max r0.x, r0.x, r0.z
    add r0.y, r0.w, r0.y
    sample_indexable(texture2d)(float,float,float,float) r0.z, v0.xyxx, t1.xyzw, s1
    round_pi r0.w, r0.z
    max r1.x, r0.x, r0.z
    mad r0.x, -r0.y, l(0.250000), r0.w
    mul r0.x, |r0.x|, |r0.x|
    mul r0.xyz, r0.xxxx, cb1[0].xyzx
    mov r1.y, l(0.500000)
    sample_indexable(texture2d)(float,float,float,float) r1.xyz, r1.xyxx, t0.xyzw, s0
    sample_indexable(texture2d)(float,float,float,float) r2.xyz, v0.xyxx, t2.xyzw, s2
    mad o0.xyz, r0.xyzx, r1.xyzx, r2.xyzx
    mov o0.w, cb1[0].w
    ret
    // Approximately 29 instruction slots used

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
    Setting o0 = 0; here makes the screen full black when there's an outline:
    cbuffer Viewport : register(b0)
    {
    float4x4 _ViewRotProjectionMatrix : packoffset(c0);
    float4x4 _ViewProjectionMatrix : packoffset(c4);
    float4x4 _ProjectionMatrix : packoffset(c8);
    float4x4 _InvProjectionMatrix : packoffset(c12);
    float4x4 _InvProjectionMatrixDepth : packoffset(c16);
    float4x4 _DepthTextureTransform : packoffset(c20);
    float4x3 _ViewMatrix : packoffset(c24);
    float4x3 _InvViewMatrix : packoffset(c27);
    float4x4 _PreviousViewProjectionMatrix : packoffset(c30);
    float4 _CameraDistances : packoffset(c34);
    float4 _ViewportSize : packoffset(c35);
    float4 _CameraPosition_MaxStaticReflectionMipIndex : packoffset(c36);
    float4 _CameraDirection_MaxParaboloidReflectionMipIndex : packoffset(c37);
    float4 _ViewPoint_ExposureScale : packoffset(c38);
    float4 _FogColorVector_ExposedWhitePointOverExposureScale : packoffset(c39);
    float3 _SideFogColor : packoffset(c40);
    float3 _SunFogColorDelta : packoffset(c41);
    float3 _OppositeFogColorDelta : packoffset(c42);
    float4 _FogValues0 : packoffset(c43);
    float4 _FogValues1 : packoffset(c44);
    float4 _CameraNearPlaneSize : packoffset(c45);
    float4 _UncompressDepthWeights_ShadowProjDepthMinValue : packoffset(c46);
    float4 _UncompressDepthWeightsWS_ReflectionFadeTarget : packoffset(c47);
    float4 _WorldAmbientColorParams0 : packoffset(c48);
    float4 _WorldAmbientColorParams1 : packoffset(c49);
    float4 _WorldAmbientColorParams2 : packoffset(c50);
    float4 _GlobalWorldTextureParams : packoffset(c51);
    float4 _CullingCameraPosition_OneOverAutoExposureScale : packoffset(c52);
    float4 _AmbientSkyColor_ReflectionScaleStrength : packoffset(c53);
    float4 _AmbientGroundColor_ReflectionScaleDistanceMul : packoffset(c54);
    float4 _FacettedShadowCastParams : packoffset(c55);
    float4 _FSMClipPlanes : packoffset(c56);
    float2 _ReflectionGIControl : packoffset(c57);
    }

    cbuffer PostFxGeneric : register(b1)
    {
    float4 _Color : packoffset(c0);
    float4 _QuadParams : packoffset(c1);
    float4 _Random : packoffset(c2);
    float4 _UVScaleOffset : packoffset(c3);
    float2 _Tiling : packoffset(c4);
    float _Intensity : packoffset(c4.z);
    float _Parameter1 : packoffset(c4.w);
    float _Parameter2 : packoffset(c5);
    float _Parameter3 : packoffset(c5.y);
    float _Parameter4 : packoffset(c5.z);
    }
    SamplerState PostFxGeneric__TextureSamplerPoint__SampObj___s : register(s0);
    SamplerState PostFxGeneric__PostFxMaskTexturePoint__SampObj___s : register(s1);
    SamplerState PostFxGeneric__SrcSampler__SampObj___s : register(s2);
    Texture2D<float4> PostFxGeneric__TextureSamplerPoint__TexObj__ : register(t0);
    Texture2D<float4> PostFxGeneric__PostFxMaskTexturePoint__TexObj__ : register(t1);
    Texture2D<float4> PostFxGeneric__SrcSampler__TexObj__ : register(t2);

    Texture2D<float4> StereoParams : register(t125);
    Texture1D<float4> IniParams : register(t120);

    void main(
    float2 v0 : TEXCOORD0,
    float4 v1 : SV_Position0,
    out float4 o0 : SV_Target0)
    {
    float4 r0,r1,r2;
    uint4 bitmask, uiDest;
    float4 fDest;

    r0.xy = -_ViewportSize.zw + v0.xy;
    r0.x = PostFxGeneric__PostFxMaskTexturePoint__TexObj__.Sample(PostFxGeneric__PostFxMaskTexturePoint__SampObj___s, r0.xy).z;
    r0.y = ceil(r0.x);
    r1.xyzw = _ViewportSize.zwzw * float4(1.000000e+000,-1.000000e+000,-1.000000e+000,1.000000e+000) + v0.xyxy;
    r0.z = PostFxGeneric__PostFxMaskTexturePoint__TexObj__.Sample(PostFxGeneric__PostFxMaskTexturePoint__SampObj___s, r1.xy).z;
    r0.w = PostFxGeneric__PostFxMaskTexturePoint__TexObj__.Sample(PostFxGeneric__PostFxMaskTexturePoint__SampObj___s, r1.zw).z;
    r1.x = ceil(r0.z);
    r0.y = r1.x + r0.y;
    r1.x = ceil(r0.w);
    r0.x = max(r0.w, r0.x);
    r0.x = max(r0.x, r0.z);
    r0.y = r1.x + r0.y;
    r0.zw = _ViewportSize.zw + v0.xy;
    r0.z = PostFxGeneric__PostFxMaskTexturePoint__TexObj__.Sample(PostFxGeneric__PostFxMaskTexturePoint__SampObj___s, r0.zw).z;
    r0.w = ceil(r0.z);
    r0.x = max(r0.x, r0.z);
    r0.y = r0.y + r0.w;
    r0.z = PostFxGeneric__PostFxMaskTexturePoint__TexObj__.Sample(PostFxGeneric__PostFxMaskTexturePoint__SampObj___s, v0.xy).z;
    r0.w = ceil(r0.z);
    r1.x = max(r0.x, r0.z);
    r0.x = -r0.y * 2.500000000e-001 + r0.w;
    r0.x = abs(r0.x) * abs(r0.x);
    r0.xyz = _Color.xyz * r0.xxx;
    r1.y = 5.000000000e-001;
    r1.xyz = PostFxGeneric__TextureSamplerPoint__TexObj__.Sample(PostFxGeneric__TextureSamplerPoint__SampObj___s, r1.xy).xyz;
    r2.xyz = PostFxGeneric__SrcSampler__TexObj__.Sample(PostFxGeneric__SrcSampler__SampObj___s, v0.xy).xyz;
    o0.xyz = r0.xyz * r1.xyz + r2.xyz;
    o0.w = _Color.w;
    o0 = 0;
    return;
    }

    /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    //
    // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
    //
    //
    // Buffer Definitions:
    //
    // cbuffer Viewport
    // {
    //
    // float4x4 _ViewRotProjectionMatrix; // Offset: 0 Size: 64 [unused]
    // float4x4 _ViewProjectionMatrix; // Offset: 64 Size: 64 [unused]
    // float4x4 _ProjectionMatrix; // Offset: 128 Size: 64 [unused]
    // float4x4 _InvProjectionMatrix; // Offset: 192 Size: 64 [unused]
    // float4x4 _InvProjectionMatrixDepth;// Offset: 256 Size: 64 [unused]
    // float4x4 _DepthTextureTransform; // Offset: 320 Size: 64 [unused]
    // float4x3 _ViewMatrix; // Offset: 384 Size: 48 [unused]
    // float4x3 _InvViewMatrix; // Offset: 432 Size: 48 [unused]
    // float4x4 _PreviousViewProjectionMatrix;// Offset: 480 Size: 64 [unused]
    // float4 _CameraDistances; // Offset: 544 Size: 16 [unused]
    // float4 _ViewportSize; // Offset: 560 Size: 16
    // float4 _CameraPosition_MaxStaticReflectionMipIndex;// Offset: 576 Size: 16 [unused]
    // float4 _CameraDirection_MaxParaboloidReflectionMipIndex;// Offset: 592 Size: 16 [unused]
    // float4 _ViewPoint_ExposureScale; // Offset: 608 Size: 16 [unused]
    // float4 _FogColorVector_ExposedWhitePointOverExposureScale;// Offset: 624 Size: 16 [unused]
    // float3 _SideFogColor; // Offset: 640 Size: 12 [unused]
    // float3 _SunFogColorDelta; // Offset: 656 Size: 12 [unused]
    // float3 _OppositeFogColorDelta; // Offset: 672 Size: 12 [unused]
    // float4 _FogValues0; // Offset: 688 Size: 16 [unused]
    // float4 _FogValues1; // Offset: 704 Size: 16 [unused]
    // float4 _CameraNearPlaneSize; // Offset: 720 Size: 16 [unused]
    // float4 _UncompressDepthWeights_ShadowProjDepthMinValue;// Offset: 736 Size: 16 [unused]
    // float4 _UncompressDepthWeightsWS_ReflectionFadeTarget;// Offset: 752 Size: 16 [unused]
    // float4 _WorldAmbientColorParams0; // Offset: 768 Size: 16 [unused]
    // float4 _WorldAmbientColorParams1; // Offset: 784 Size: 16 [unused]
    // float4 _WorldAmbientColorParams2; // Offset: 800 Size: 16 [unused]
    // float4 _GlobalWorldTextureParams; // Offset: 816 Size: 16 [unused]
    // float4 _CullingCameraPosition_OneOverAutoExposureScale;// Offset: 832 Size: 16 [unused]
    // float4 _AmbientSkyColor_ReflectionScaleStrength;// Offset: 848 Size: 16 [unused]
    // float4 _AmbientGroundColor_ReflectionScaleDistanceMul;// Offset: 864 Size: 16 [unused]
    // float4 _FacettedShadowCastParams; // Offset: 880 Size: 16 [unused]
    // float4 _FSMClipPlanes; // Offset: 896 Size: 16 [unused]
    // float2 _ReflectionGIControl; // Offset: 912 Size: 8 [unused]
    //
    // }
    //
    // cbuffer PostFxGeneric
    // {
    //
    // float4 _Color; // Offset: 0 Size: 16
    // float4 _QuadParams; // Offset: 16 Size: 16 [unused]
    // float4 _Random; // Offset: 32 Size: 16 [unused]
    // float4 _UVScaleOffset; // Offset: 48 Size: 16 [unused]
    // float2 _Tiling; // Offset: 64 Size: 8 [unused]
    // float _Intensity; // Offset: 72 Size: 4 [unused]
    // float _Parameter1; // Offset: 76 Size: 4 [unused]
    // float _Parameter2; // Offset: 80 Size: 4 [unused]
    // float _Parameter3; // Offset: 84 Size: 4 [unused]
    // float _Parameter4; // Offset: 88 Size: 4 [unused]
    //
    // }
    //
    //
    // Resource Bindings:
    //
    // Name Type Format Dim Slot Elements
    // ------------------------------ ---------- ------- ----------- ---- --------
    // PostFxGeneric__TextureSamplerPoint__SampObj__ sampler NA NA 0 1
    // PostFxGeneric__PostFxMaskTexturePoint__SampObj__ sampler NA NA 1 1
    // PostFxGeneric__SrcSampler__SampObj__ sampler NA NA 2 1
    // PostFxGeneric__TextureSamplerPoint__TexObj__ texture float4 2d 0 1
    // PostFxGeneric__PostFxMaskTexturePoint__TexObj__ texture float4 2d 1 1
    // PostFxGeneric__SrcSampler__TexObj__ texture float4 2d 2 1
    // Viewport cbuffer NA NA 0 1
    // PostFxGeneric cbuffer NA NA 1 1
    //
    //
    //
    // Input signature:
    //
    // Name Index Mask Register SysValue Format Used
    // -------------------- ----- ------ -------- -------- ------- ------
    // TEXCOORD 0 xy 0 NONE float xy
    // SV_Position 0 xyzw 1 POS float
    //
    //
    // Output signature:
    //
    // Name Index Mask Register SysValue Format Used
    // -------------------- ----- ------ -------- -------- ------- ------
    // SV_Target 0 xyzw 0 TARGET float xyzw
    //
    ps_5_0
    dcl_globalFlags refactoringAllowed
    dcl_constantbuffer cb0[36], immediateIndexed
    dcl_constantbuffer cb1[1], immediateIndexed
    dcl_sampler s0, mode_default
    dcl_sampler s1, mode_default
    dcl_sampler s2, mode_default
    dcl_resource_texture2d (float,float,float,float) t0
    dcl_resource_texture2d (float,float,float,float) t1
    dcl_resource_texture2d (float,float,float,float) t2
    dcl_input_ps linear v0.xy
    dcl_output o0.xyzw
    dcl_temps 3
    add r0.xy, v0.xyxx, -cb0[35].zwzz
    sample_indexable(texture2d)(float,float,float,float) r0.x, r0.xyxx, t1.zxyw, s1
    round_pi r0.y, r0.x
    mad r1.xyzw, cb0[35].zwzw, l(1.000000, -1.000000, -1.000000, 1.000000), v0.xyxy
    sample_indexable(texture2d)(float,float,float,float) r0.z, r1.xyxx, t1.xyzw, s1
    sample_indexable(texture2d)(float,float,float,float) r0.w, r1.zwzz, t1.xywz, s1
    round_pi r1.x, r0.z
    add r0.y, r0.y, r1.x
    round_pi r1.x, r0.w
    max r0.x, r0.w, r0.x
    max r0.x, r0.x, r0.z
    add r0.y, r0.y, r1.x
    add r0.zw, v0.xxxy, cb0[35].zzzw
    sample_indexable(texture2d)(float,float,float,float) r0.z, r0.zwzz, t1.xyzw, s1
    round_pi r0.w, r0.z
    max r0.x, r0.x, r0.z
    add r0.y, r0.w, r0.y
    sample_indexable(texture2d)(float,float,float,float) r0.z, v0.xyxx, t1.xyzw, s1
    round_pi r0.w, r0.z
    max r1.x, r0.x, r0.z
    mad r0.x, -r0.y, l(0.250000), r0.w
    mul r0.x, |r0.x|, |r0.x|
    mul r0.xyz, r0.xxxx, cb1[0].xyzx
    mov r1.y, l(0.500000)
    sample_indexable(texture2d)(float,float,float,float) r1.xyz, r1.xyxx, t0.xyzw, s0
    sample_indexable(texture2d)(float,float,float,float) r2.xyz, v0.xyxx, t2.xyzw, s2
    mad o0.xyz, r0.xyzx, r1.xyzx, r2.xyzx
    mov o0.w, cb1[0].w
    ret
    // Approximately 29 instruction slots used

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
    bo3bber can you help me to properly disable this shader please? :O


    PS: The black screen becomes a white screen if I set the output to 1, not very useful to know but I'm messing around so that's it...
     
    Last edited: Aug 20, 2015
  14. KuroTenshi

    KuroTenshi Master Guru

    Messages:
    499
    Likes Received:
    1
    GPU:
    GTX 970 4gb @ 1177/1402
    In fact, it works even with the latest versions of 3DMigoto.

    But Reshade/SweetFX is not compatible with it, according to Crossire. And It can't be fixed easily (conflicts).
     
  15. The Silver

    The Silver Master Guru

    Messages:
    602
    Likes Received:
    14
    GPU:
    GTX 770 2GB
    Yes the fixes listed here works fine, the shaders replacements I mean, but I was completely unable to make the hunting mode work with the WD specific version 0.91 used here, the numpads did nothing nor it cached any shader etc, no matter how much I messed with the ini. ;)

    Anyway I've probably found a way to recode the shader so it have the specific output to only remove the outline without any bug or black screens, I will post it here as soon as I will test it enough, stay tuned. :)
     
    Last edited: Aug 20, 2015

  16. The Silver

    The Silver Master Guru

    Messages:
    602
    Likes Received:
    14
    GPU:
    GTX 770 2GB
    Finally! I managed to properly remove the white outline from the tagged enemies while keeping their tagged icon on them, this way you will not have the wallhack silhouette anymore but only the icons. :cool:

    Here's the content of the modified shader, use it just like the other fixes of this thread:
    cbuffer Viewport : register(b0)
    {
    float4x4 _ViewRotProjectionMatrix : packoffset(c0);
    float4x4 _ViewProjectionMatrix : packoffset(c4);
    float4x4 _ProjectionMatrix : packoffset(c8);
    float4x4 _InvProjectionMatrix : packoffset(c12);
    float4x4 _InvProjectionMatrixDepth : packoffset(c16);
    float4x4 _DepthTextureTransform : packoffset(c20);
    float4x3 _ViewMatrix : packoffset(c24);
    float4x3 _InvViewMatrix : packoffset(c27);
    float4x4 _PreviousViewProjectionMatrix : packoffset(c30);
    float4 _CameraDistances : packoffset(c34);
    float4 _ViewportSize : packoffset(c35);
    float4 _CameraPosition_MaxStaticReflectionMipIndex : packoffset(c36);
    float4 _CameraDirection_MaxParaboloidReflectionMipIndex : packoffset(c37);
    float4 _ViewPoint_ExposureScale : packoffset(c38);
    float4 _FogColorVector_ExposedWhitePointOverExposureScale : packoffset(c39);
    float3 _SideFogColor : packoffset(c40);
    float3 _SunFogColorDelta : packoffset(c41);
    float3 _OppositeFogColorDelta : packoffset(c42);
    float4 _FogValues0 : packoffset(c43);
    float4 _FogValues1 : packoffset(c44);
    float4 _CameraNearPlaneSize : packoffset(c45);
    float4 _UncompressDepthWeights_ShadowProjDepthMinValue : packoffset(c46);
    float4 _UncompressDepthWeightsWS_ReflectionFadeTarget : packoffset(c47);
    float4 _WorldAmbientColorParams0 : packoffset(c48);
    float4 _WorldAmbientColorParams1 : packoffset(c49);
    float4 _WorldAmbientColorParams2 : packoffset(c50);
    float4 _GlobalWorldTextureParams : packoffset(c51);
    float4 _CullingCameraPosition_OneOverAutoExposureScale : packoffset(c52);
    float4 _AmbientSkyColor_ReflectionScaleStrength : packoffset(c53);
    float4 _AmbientGroundColor_ReflectionScaleDistanceMul : packoffset(c54);
    float4 _FacettedShadowCastParams : packoffset(c55);
    float4 _FSMClipPlanes : packoffset(c56);
    float2 _ReflectionGIControl : packoffset(c57);
    }

    cbuffer PostFxGeneric : register(b1)
    {
    float4 _Color : packoffset(c0);
    float4 _QuadParams : packoffset(c1);
    float4 _Random : packoffset(c2);
    float4 _UVScaleOffset : packoffset(c3);
    float2 _Tiling : packoffset(c4);
    float _Intensity : packoffset(c4.z);
    float _Parameter1 : packoffset(c4.w);
    float _Parameter2 : packoffset(c5);
    float _Parameter3 : packoffset(c5.y);
    float _Parameter4 : packoffset(c5.z);
    }
    SamplerState PostFxGeneric__TextureSamplerPoint__SampObj___s : register(s0);
    SamplerState PostFxGeneric__PostFxMaskTexturePoint__SampObj___s : register(s1);
    SamplerState PostFxGeneric__SrcSampler__SampObj___s : register(s2);
    Texture2D<float4> PostFxGeneric__TextureSamplerPoint__TexObj__ : register(t0);
    Texture2D<float4> PostFxGeneric__PostFxMaskTexturePoint__TexObj__ : register(t1);
    Texture2D<float4> PostFxGeneric__SrcSampler__TexObj__ : register(t2);

    Texture2D<float4> StereoParams : register(t125);
    Texture1D<float4> IniParams : register(t120);

    void main(
    float2 v0 : TEXCOORD0,
    float4 v1 : SV_Position0,
    out float4 o0 : SV_Target0)
    {
    float4 r0,r1,r2;
    uint4 bitmask, uiDest;
    float4 fDest;

    r0.xy = -_ViewportSize.zw + v0.xy;
    r0.x = PostFxGeneric__PostFxMaskTexturePoint__TexObj__.Sample(PostFxGeneric__PostFxMaskTexturePoint__SampObj___s, r0.xy).z;
    r0.y = ceil(r0.x);
    r1.xyzw = _ViewportSize.zwzw * float4(1.000000e+000,-1.000000e+000,-1.000000e+000,1.000000e+000) + v0.xyxy;
    r0.z = PostFxGeneric__PostFxMaskTexturePoint__TexObj__.Sample(PostFxGeneric__PostFxMaskTexturePoint__SampObj___s, r1.xy).z;
    r0.w = PostFxGeneric__PostFxMaskTexturePoint__TexObj__.Sample(PostFxGeneric__PostFxMaskTexturePoint__SampObj___s, r1.zw).z;
    r1.x = ceil(r0.z);
    r0.y = r1.x + r0.y;
    r1.x = ceil(r0.w);
    r0.x = max(r0.w, r0.x);
    r0.x = max(r0.x, r0.z);
    r0.y = r1.x + r0.y;
    r0.zw = _ViewportSize.zw + v0.xy;
    r0.z = PostFxGeneric__PostFxMaskTexturePoint__TexObj__.Sample(PostFxGeneric__PostFxMaskTexturePoint__SampObj___s, r0.zw).z;
    r0.w = ceil(r0.z);
    r0.x = max(r0.x, r0.z);
    r0.y = r0.y + r0.w;
    r0.z = PostFxGeneric__PostFxMaskTexturePoint__TexObj__.Sample(PostFxGeneric__PostFxMaskTexturePoint__SampObj___s, v0.xy).z;
    r0.w = ceil(r0.z);
    r1.x = max(r0.x, r0.z);
    r0.x = -r0.y * 2.500000000e-001 + r0.w;
    r0.x = abs(r0.x) * abs(r0.x);
    r0.xyz = _Color.xyz * r0.xxx;
    r1.y = 5.000000000e-001;
    r1.xyz = PostFxGeneric__TextureSamplerPoint__TexObj__.Sample(PostFxGeneric__TextureSamplerPoint__SampObj___s, r1.xy).xyz;
    r2.xyz = PostFxGeneric__SrcSampler__TexObj__.Sample(PostFxGeneric__SrcSampler__SampObj___s, v0.xy).xyz;
    o0.xyz = r2.xyz;
    o0.w = _Color.w;
    return;
    }

    /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    //
    // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
    //
    //
    // Buffer Definitions:
    //
    // cbuffer Viewport
    // {
    //
    // float4x4 _ViewRotProjectionMatrix; // Offset: 0 Size: 64 [unused]
    // float4x4 _ViewProjectionMatrix; // Offset: 64 Size: 64 [unused]
    // float4x4 _ProjectionMatrix; // Offset: 128 Size: 64 [unused]
    // float4x4 _InvProjectionMatrix; // Offset: 192 Size: 64 [unused]
    // float4x4 _InvProjectionMatrixDepth;// Offset: 256 Size: 64 [unused]
    // float4x4 _DepthTextureTransform; // Offset: 320 Size: 64 [unused]
    // float4x3 _ViewMatrix; // Offset: 384 Size: 48 [unused]
    // float4x3 _InvViewMatrix; // Offset: 432 Size: 48 [unused]
    // float4x4 _PreviousViewProjectionMatrix;// Offset: 480 Size: 64 [unused]
    // float4 _CameraDistances; // Offset: 544 Size: 16 [unused]
    // float4 _ViewportSize; // Offset: 560 Size: 16
    // float4 _CameraPosition_MaxStaticReflectionMipIndex;// Offset: 576 Size: 16 [unused]
    // float4 _CameraDirection_MaxParaboloidReflectionMipIndex;// Offset: 592 Size: 16 [unused]
    // float4 _ViewPoint_ExposureScale; // Offset: 608 Size: 16 [unused]
    // float4 _FogColorVector_ExposedWhitePointOverExposureScale;// Offset: 624 Size: 16 [unused]
    // float3 _SideFogColor; // Offset: 640 Size: 12 [unused]
    // float3 _SunFogColorDelta; // Offset: 656 Size: 12 [unused]
    // float3 _OppositeFogColorDelta; // Offset: 672 Size: 12 [unused]
    // float4 _FogValues0; // Offset: 688 Size: 16 [unused]
    // float4 _FogValues1; // Offset: 704 Size: 16 [unused]
    // float4 _CameraNearPlaneSize; // Offset: 720 Size: 16 [unused]
    // float4 _UncompressDepthWeights_ShadowProjDepthMinValue;// Offset: 736 Size: 16 [unused]
    // float4 _UncompressDepthWeightsWS_ReflectionFadeTarget;// Offset: 752 Size: 16 [unused]
    // float4 _WorldAmbientColorParams0; // Offset: 768 Size: 16 [unused]
    // float4 _WorldAmbientColorParams1; // Offset: 784 Size: 16 [unused]
    // float4 _WorldAmbientColorParams2; // Offset: 800 Size: 16 [unused]
    // float4 _GlobalWorldTextureParams; // Offset: 816 Size: 16 [unused]
    // float4 _CullingCameraPosition_OneOverAutoExposureScale;// Offset: 832 Size: 16 [unused]
    // float4 _AmbientSkyColor_ReflectionScaleStrength;// Offset: 848 Size: 16 [unused]
    // float4 _AmbientGroundColor_ReflectionScaleDistanceMul;// Offset: 864 Size: 16 [unused]
    // float4 _FacettedShadowCastParams; // Offset: 880 Size: 16 [unused]
    // float4 _FSMClipPlanes; // Offset: 896 Size: 16 [unused]
    // float2 _ReflectionGIControl; // Offset: 912 Size: 8 [unused]
    //
    // }
    //
    // cbuffer PostFxGeneric
    // {
    //
    // float4 _Color; // Offset: 0 Size: 16
    // float4 _QuadParams; // Offset: 16 Size: 16 [unused]
    // float4 _Random; // Offset: 32 Size: 16 [unused]
    // float4 _UVScaleOffset; // Offset: 48 Size: 16 [unused]
    // float2 _Tiling; // Offset: 64 Size: 8 [unused]
    // float _Intensity; // Offset: 72 Size: 4 [unused]
    // float _Parameter1; // Offset: 76 Size: 4 [unused]
    // float _Parameter2; // Offset: 80 Size: 4 [unused]
    // float _Parameter3; // Offset: 84 Size: 4 [unused]
    // float _Parameter4; // Offset: 88 Size: 4 [unused]
    //
    // }
    //
    //
    // Resource Bindings:
    //
    // Name Type Format Dim Slot Elements
    // ------------------------------ ---------- ------- ----------- ---- --------
    // PostFxGeneric__TextureSamplerPoint__SampObj__ sampler NA NA 0 1
    // PostFxGeneric__PostFxMaskTexturePoint__SampObj__ sampler NA NA 1 1
    // PostFxGeneric__SrcSampler__SampObj__ sampler NA NA 2 1
    // PostFxGeneric__TextureSamplerPoint__TexObj__ texture float4 2d 0 1
    // PostFxGeneric__PostFxMaskTexturePoint__TexObj__ texture float4 2d 1 1
    // PostFxGeneric__SrcSampler__TexObj__ texture float4 2d 2 1
    // Viewport cbuffer NA NA 0 1
    // PostFxGeneric cbuffer NA NA 1 1
    //
    //
    //
    // Input signature:
    //
    // Name Index Mask Register SysValue Format Used
    // -------------------- ----- ------ -------- -------- ------- ------
    // TEXCOORD 0 xy 0 NONE float xy
    // SV_Position 0 xyzw 1 POS float
    //
    //
    // Output signature:
    //
    // Name Index Mask Register SysValue Format Used
    // -------------------- ----- ------ -------- -------- ------- ------
    // SV_Target 0 xyzw 0 TARGET float xyzw
    //
    ps_5_0
    dcl_globalFlags refactoringAllowed
    dcl_constantbuffer cb0[36], immediateIndexed
    dcl_constantbuffer cb1[1], immediateIndexed
    dcl_sampler s0, mode_default
    dcl_sampler s1, mode_default
    dcl_sampler s2, mode_default
    dcl_resource_texture2d (float,float,float,float) t0
    dcl_resource_texture2d (float,float,float,float) t1
    dcl_resource_texture2d (float,float,float,float) t2
    dcl_input_ps linear v0.xy
    dcl_output o0.xyzw
    dcl_temps 3
    add r0.xy, v0.xyxx, -cb0[35].zwzz
    sample_indexable(texture2d)(float,float,float,float) r0.x, r0.xyxx, t1.zxyw, s1
    round_pi r0.y, r0.x
    mad r1.xyzw, cb0[35].zwzw, l(1.000000, -1.000000, -1.000000, 1.000000), v0.xyxy
    sample_indexable(texture2d)(float,float,float,float) r0.z, r1.xyxx, t1.xyzw, s1
    sample_indexable(texture2d)(float,float,float,float) r0.w, r1.zwzz, t1.xywz, s1
    round_pi r1.x, r0.z
    add r0.y, r0.y, r1.x
    round_pi r1.x, r0.w
    max r0.x, r0.w, r0.x
    max r0.x, r0.x, r0.z
    add r0.y, r0.y, r1.x
    add r0.zw, v0.xxxy, cb0[35].zzzw
    sample_indexable(texture2d)(float,float,float,float) r0.z, r0.zwzz, t1.xyzw, s1
    round_pi r0.w, r0.z
    max r0.x, r0.x, r0.z
    add r0.y, r0.w, r0.y
    sample_indexable(texture2d)(float,float,float,float) r0.z, v0.xyxx, t1.xyzw, s1
    round_pi r0.w, r0.z
    max r1.x, r0.x, r0.z
    mad r0.x, -r0.y, l(0.250000), r0.w
    mul r0.x, |r0.x|, |r0.x|
    mul r0.xyz, r0.xxxx, cb1[0].xyzx
    mov r1.y, l(0.500000)
    sample_indexable(texture2d)(float,float,float,float) r1.xyz, r1.xyxx, t0.xyzw, s0
    sample_indexable(texture2d)(float,float,float,float) r2.xyz, v0.xyxx, t2.xyzw, s2
    mad o0.xyz, r0.xyzx, r1.xyzx, r2.xyzx
    mov o0.w, cb1[0].w
    ret
    // Approximately 29 instruction slots used

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
    Here's a download link to the txt file itself just for convenience:
    5f999051e69fd5ef-ps_replace.txt

    Enjoy! :D

    UPDATE: The fix has been updated, check my post below for the new version! http://forums.guru3d.com/showpost.php?p=5145176&postcount=80
     
    Last edited: Aug 21, 2015
  17. txgt

    txgt Master Guru

    Messages:
    815
    Likes Received:
    3
    GPU:
    MSI GTX 1060 6G
    Nice man! Will add this to VP.
    But why it's so big? Other fixes in this thread are very tiny.
    So v0.91 is still the best for WD?
     
  18. The Silver

    The Silver Master Guru

    Messages:
    602
    Likes Received:
    14
    GPU:
    GTX 770 2GB
    Cool! Thanks! :D

    The other shaders are simpler so replacing them with the same small dummy code was enough to disable the effect (if you check their respective original code is slightly bigger than the code in the fixes), however this one is more complex so simply coding the output to 0 wasn't a solution, instead I had to keep the whole original shader to set a specific output that properly disables the effect without bugs, the final result is the same though. :)

    The WD specific version 0.91 is still perfect for using the fixes, it's for hunting the shaders and dumping them that I had problems, so nothing changes for the simple mods users, it's just a tip for the modders that wants to create the fixes. ;)


    PS: The code is big also because I've left all the original text in it, but the whole second part can be deleted since it's just comments, however comments are ignored by compilers and engines so it doesn't harm to keep then in either...
     
    Last edited: Aug 21, 2015
  19. bo3bber

    bo3bber Member

    Messages:
    23
    Likes Received:
    0
    GPU:
    GTX 760 SLI
    For that Pixel Shader, since it's a version 5 type, you can make it skip the shader by using the 'discard;' instead of setting the output to zero. Try changing the line 'o0=0;' to that.

    That tells the graphics card to just skip that shader altogether, and depending on a whole lot of things, it might work better. It also might still just make the screen go black, if it's actually used for a full screen effect, but is worth a try.

    Edit: Ah, I see you already solved the problem there, great work! Glad you were able to work out how to get what you want.
     
    Last edited: Aug 21, 2015
  20. The Silver

    The Silver Master Guru

    Messages:
    602
    Likes Received:
    14
    GPU:
    GTX 770 2GB
    Thank you very much for the tip bo3bber! :) I wasn't aware of the discard command, and indeed it seems to work perfectly, I've replaced return; with discard; and the outline is properly removed without bugs, even with the whole shader code heavily trimmed down, now it's really in line with the other fixes. :cool:

    So here's the new Tagged Enemy Outline Removal Fix content:
    Code:
    void main(
      float3 v0 : TEXCOORD0,
      float4 v1 : SV_Position0,
      out float4 o0 : SV_Target0)
    {
      // disable tagged enemy white outline.
      o0 = 0;
      discard;
    }
    And here's the txt download link for convenience: 5f999051e69fd5ef-ps_replace.txt

    Enjoy! :D
     
    Last edited: Aug 21, 2015

Share This Page