@zaibaker:
Witcher 1 doesn't require a fix...
If you want to "perfect" something to your taste feel free to do so:) The shader school is the way to start;)
@zaibaker:
Witcher 1 doesn't require a fix...
If you want to "perfect" something to your taste feel free to do so:) The shader school is the way to start;)
1x Palit RTX 2080Ti Pro Gaming OC(watercooled and overclocked to hell)
3x 3D Vision Ready Asus VG278HE monitors (5760x1080).
Intel i9 9900K (overclocked to 5.3 and watercooled ofc).
Asus Maximus XI Hero Mobo.
16 GB Team Group T-Force Dark Pro DDR4 @ 3600.
Lots of Disks:
- Raid 0 - 256GB Sandisk Extreme SSD.
- Raid 0 - WD Black - 2TB.
- SanDisk SSD PLUS 480 GB.
- Intel 760p 256GB M.2 PCIe NVMe SSD.
Creative Sound Blaster Z.
Windows 10 x64 Pro.
etc
Ok i didn't know The Witcher 1 don't need a fix.
When i saw this bug lately i supposed it was due to 3D (Saviola always have this weird bug in the beginning of the game):
[img]http://images.akamai.steamusercontent.com/ugc/263838879879096477/EF5F27203A0EF7312190632DA9F875F6CBF38353/?interpolation=lanczos-none&output-format=jpeg&output-quality=95&fit=inside|1024:640&composite-to=*,*|1024:640&background-color=black[/img]
I finished the CD version of the 1, have to replay it because i really want to keep my choices for the second and then the last game :(.
About the fix, it was a time in the past i was looking for The Walking Dead season 1 fix, i found on the old Helix website:
[url]http://danburite25.rssing.com/chan-13381253/all_p2.html#item34[/url]
I'm trying to start the school for shaderhackers, but i have a problem about the creation of an account of Wiki.
I don't know the answer of the question lol:
" What is the one true name of the God of 3D? "
Sorry for the noob question.
[quote="DarkStarSword"]Helix of course :)[/quote]
[url]https://forums.geforce.com/default/topic/807717/3d-vision/life-is-strange-3d-vision-surround-support/post/4447123/#4447123[/url]
Also there's a fix for Witcher 1
http://helixmod.blogspot.com/2014/05/witcher.html
Thank you D-Man ;).
Where did you found the answer please?
For a newbie it wasn't easy at all lol.
Thank you again for the edit ;).
Maybe bo3b have to make it easier to find no?
Or it's a test :D?
[quote="zaibaker"]
Any new hope for Ryse then?[/quote]
I've been working on a fix for Ryse for some time. I've made some very decent headway, but it's quite the challenge, so I've only been working on it in bits and pieces... basically when I'm in a masochistic sort of mood. :P I actually started looking at it again last night (which actually brought me to this thread, and is how I saw your post), and am close to fixing one of the few major issues remaining. If I can manage to find a solution to this, then that might help give me the motivation to steamroll the rest, so wish me luck! ;)
I've been working on a fix for Ryse for some time. I've made some very decent headway, but it's quite the challenge, so I've only been working on it in bits and pieces... basically when I'm in a masochistic sort of mood. :P I actually started looking at it again last night (which actually brought me to this thread, and is how I saw your post), and am close to fixing one of the few major issues remaining. If I can manage to find a solution to this, then that might help give me the motivation to steamroll the rest, so wish me luck! ;)
3D Gaming Rig: CPU: i7 7700K @ 4.9Ghz | Mobo: Asus Maximus Hero VIII | RAM: Corsair Dominator 16GB | GPU: 2 x GTX 1080 Ti SLI | 3xSSDs for OS and Apps, 2 x HDD's for 11GB storage | PSU: Seasonic X-1250 M2| Case: Corsair C70 | Cooling: Corsair H115i Hydro cooler | Displays: Asus PG278QR, BenQ XL2420TX & BenQ HT1075 | OS: Windows 10 Pro + Windows 7 dual boot
Good luck dude ;).
Sorry for the hard work & challenge to solve the issues.
But it will be a great achievements at the end.
I'm sure this wonderful community will help you.
Hi. Im trying to remove the hud from James bond Quantom of solace and stranglehold. You can download both demos if you would like to help out.
Basically for stranglehold theres only one vertex shader and pixel shader for hud, i believe. And also when you find em for both the screen freezes, hud disapears, sounds and everything continues playing, and hud of the main menu icons etc and tequila shop section disapears eswell when you toggle it back and forth in debug. The vertex shaders titled 238EE519 And pixel shader is 5AF4E309.
I used the methods from helixmod website that your supose to do to get rid of the hud but screen gos black on any of the two, while hearing the menu song and clicking icons in the background still playing. Anything in the language i need to change? there was a helix mod for stranglehold where he adjusted the crosshair : http://helixmod.blogspot.com.au/2015/08/stranglehold.html How did he move it? you can see in the vertex shader it says this in the original:
//
// Generated by Microsoft (R) D3DX9 Shader Compiler 9.10.455.0000
//
// Parameters:
//
// float4x4 Transform;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// Transform c5 4
//
His changed something or positioned the crosshair judging by this but i dont understand how or what the codes mean in the language.
As for quantom of solace ive searched everywere to remove the bottom left hud icons, but no luck with all shader searching in debug. I dont know what else to do. Ive searched through 2000 vs and ps but with no luck
Also one last thing. this relates to 3dmigato is max payne 3 question i have, ill copy paste from a forum i asked this: One of the shaders im trying to remove doesnt seem to be PS or VS, how do you cycle through CS/DS/HS? I dont see em cycle through the above of the UI like the PS and VS when i used the keys so i cant mark anything.
What im trying to is i basically removed all the blur/yellow effects from max payne 3 exept for the last layer, which is sometimes the screen color go's light red then turns off after couple seconds (this is where a blur or one of those motion blur type flashy effects would appear) but i cant figure out how to remove it. Also another effect where the outline of the characters go's blue and kinda distorts them making a double. Im stuck with removing that too. Which one of the shaders would i be looking for to remove both of these effects? HS/CS/DS? I got rid of all so far but those ones mentioned, by using only PS and VS. Would it mean its in either CS/DS or HS to be able to toggle that off?.. or have i not adjust one of the settings in .ps/.vs txt's?
if theres only something like this in PS txt shader for example where it says:
void main(
float4 v0 : SV_Position0,
float2 v1 : TEXCOORD0,
float4 v2 : COLOR0,
out float4 o0 : SV_Target0)
{
float4 r0,r1;
uint4 bitmask, uiDest;
float4 fDest;
You will see its discarding "float4 vo : SV_Position0", but i also see float2 v1 : TEXCOORDo, and float4 v2 : COLORo; below it, does that mean you can remove those too?... Like do this:
Does that do anything, to activate the other 2 so you remove or you cant do this and only can change whatever says "out float4 o0 : SV_Targeto)" in the out float4 section.. Ive been trying for days now but cant seem to figure out how to remove the remainding colors/distorts., Ive posted pictures of when they take place, unless i missed something while searching in PS/VShaders.: With and when it disapears back to normal color and including the distorts blur etc: https://www.dropbox.com/s/c1nctgqt095vp9f/colors etc.rar?dl=0 Let me know if theres any problem downloading
By the way the above was for to remove one of the huds but i showed the out float 4 thing for example, its gotta be in one of these PS/VS as it mentions "GreenOff, RedOff, BlueOff" etc.
This one is ps, its gotta be one of the ones right now im about to post, maybe i made a syntax error somewere
Those familular with max payne 3 and using 3dmigato can probally help, i can send you the shaders?. It also removes graphic novel style slide screens into full screen as soon as screen go's black/white, thats also removed via VS. I just have to narrow down these last few problems in those pictures ive sent: https://www.dropbox.com/s/c1nctgqt095vp9f/colors etc.rar?dl=0 Let me know if theres any problems downloading this
Anyways sorry for the long post... I like making screenshots etc and would like to find out this if anyone knows, Cheers
You could bind a hotkey that toggles the hud convergence and for one setting, simply put the convergence so far apart that the hud is offscreen.
4everAwake did the Stranglehold fix, not Helix. I'm pretty sure that he bounded the crosshair with a box and then specified that only the texture in the box be placed into depth by using if/endif.
read post 24-29
[url]https://forums.geforce.com/default/topic/809236/3d-vision/obscure-indie-games/post/4639228/#4639228[/url]
You could bind a hotkey that toggles the hud convergence and for one setting, simply put the convergence so far apart that the hud is offscreen.
4everAwake did the Stranglehold fix, not Helix. I'm pretty sure that he bounded the crosshair with a box and then specified that only the texture in the box be placed into depth by using if/endif.
[quote="3dmigatoHelixFan"]Basically for stranglehold theres only one vertex shader and pixel shader for hud, i believe. And also when you find em for both the screen freezes, hud disapears, sounds and everything continues playing, and hud of the main menu icons etc and tequila shop section disapears eswell when you toggle it back and forth in debug. The vertex shaders titled 238EE519 And pixel shader is 5AF4E309. [/quote]
Vertex shader 238EE519 has some screen effects that need to be blacklisted. But in this case, I found it easier to instead whitelist all the necessary HUD & UI textures (via the dx9settings file). Much of this is explained in Bo3b's shaderhacking school. But I annotated the VS and changed it up a bit. I also went ahead and started whitelisting various HUD & UI textures for the first Chapter of the game. There's sure to be more textures that need to be added. I updated the fix on HelixMod and you can try it if you want. Press 'M' to remove HUD & UI.
VS 238EE519:
[code]// hud (including crosshair)
// Generated by Microsoft (R) D3DX9 Shader Compiler 9.10.455.0000
//
// Parameters:
//
// float4x4 Transform;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// Transform c5 4
//
vs_3_0
def c100, 0, 0, 0, 0
def c243, 0.73, 0.87, 0.97, 0.2 //various depths
def c244, 80, 180, 0, 0 //various convergences
def c245, 20, 21, 2, 0 //indexes (refer to dx9settings.ini)
def c247, 0, 0, 0.0625, 0
dcl_2d s0
dcl_position v0
dcl_texcoord v1
dcl_color v2
dcl_color1 v3
dcl_position o0
dcl_texcoord o1.xy
dcl_color o2
dcl_color1 o3
mul r0, c6, v0.y
mad r0, c5, v0.x, r0
mad r0, c7, v0.z, r0
mad r10, c8, v0.w, r0 //o0 changed to r10
texldl r24, c247.z, s0 //place depth & convergence in r24
mov r14.x, c254.x //mov index value of texture to temp register
mov r15.z, c246.z //mov VSConst1 (Const3) to temp register
//this places the crosshair in depth & varies the depth depending on the convergence setting
if_eq r14.x, c245.x //index 20-- various crosshairs
if_le r24.y, c244.x //if convergence is less than or equal 80
mad r10.x, r24.x, c243.z, r10.x //crosshair depth = 0.97
endif
if_gt r24.y, c244.x //if convergence is greater than 80
if_le r24.y, c244.y //if convergence is less than or equal 180
mad r10.x, r24.x, c243.y, r10.x //crosshair depth = 0.87
endif
endif
if_gt r24.y, c244.y //if convergence is greater than 180
mad r10.x, r24.x, c243.x, r10.x //crosshair depth = 0.73
endif
endif
//this places HUD & UI at a depth of 0.2-- disabled this feature for now
if_eq r14.x, c247.w //index 2-- HUD & UI
//mad r10.x, r24.x, c243.w, r10.x //hud depth = 0.2
endif
//This will remove the HUD & UI by pressing the 'M' key
if_ne r14.x, c100.x //either index 2 or index 20
if_ne r15.z, c100.x //if the 'M' key is pressed
mov r10, c100 //make r10 = 0 (removes HUD & UI)
endif
endif
mov o0, r10
mov o1.xy, v1
mov o2, v2
mov o3, v3
// approximately 7 instruction slots used
[/code]
dx9settings.ini:
[code][General]
OverrideMethod = 2
UseRenderedShaders = true
DefPSViewSizeConst = 210
InitMouse = false
SkipSetScissorRect = true
DefSquareSurfaceMode = 2
DefVSConst1 = 246
PresetsKeysList = 1;2;3;
; Keyboard keycodes can be found here: http://help.adobe.com/en_US/AS2LCR/Flash_10.0/help.html?content=00000520.html
[KEY1]
;M
Key = 77
Presets = 2;3;
Type = 1
[KEY2]
;tab
Key = 9
Presets = 4;5;
Type = 1
[KEY3]
;caps lock
Key = 20
Presets = 6;
Type = 1
[PRES2]
Const3 = 0x3f800000
[PRES3]
Const3 = 0x00000000
UseByDef = true
[PRES4]
UseSepSettings = true
SaveSepSettings = true
Convergence = 0x437fe8e4
;Separation = 0x42c80000
[PRES5]
UseSepSettings = true
SaveSepSettings = true
Convergence = 0x42decc20
;Separation = 0x42c80000
[PRES6]
UseSepSettings = true
SaveSepSettings = true
Convergence = 0x41ac3fd1
;Separation = 0x42c80000
UseByDef = true
[VS238EE519]
CheckTexCRC = true
VBOffsetList = 0;
ValForDefined = 2
ValNotDefined = 0
TexCounterReg = 254
UseDefinedOnly = false
DefinedTexturesVS = 44D07C18;B613AC97;895F0DFD;97BE89BC;39E32EE5;8E787740;1BF13165;C3E5DFEA;;A587A342;A617CB61;6DE874FA;DE8CAA6B;5B030A6F;1A7D0F26;07BF8744;DAEC8CF6;B82F9409;9D942355;2A7871DD;DBC347D2;FFFFFFFF;7743EE6D;A173AD16;FC7DD76C;DF51A69D;61202DD3;64CA4710;DBC76438;D08D9E51;9B587B54;26CC1AA2;AF41DA87;CD9EFF79;7ADDA892;64B822DC;A6BB0B9E;63253251;F939F1D3;A1930C89;F0ED2E57;8444FEEE;4D079B2B;4F7B6B27;2AB2D7E3;B1156AAC;FB70397E;EDDBFE02;483CF5B1;55D24C97;CEBA7144;0BE9523B;6D19229E;09BC3098;3BE0F29D;8DAC35CB;4FBC9962;5AE8A7F6;E878260C;E95350CB;495770CE;2B46BE0F;99241B9F;F8A5B467;37EAD478;A24D7110;8E132904;E91335D1;C01B5AB2;
;unknown textures-- ;8E076988;B79DAF24;EA2F4AFA;60EEC9D5;4149DF39;6CFFE6C1;9E50A9EE;A370E33C;
;crosshairs-- 44D07C18;B613AC97;895F0DFD;97BE89BC;39E32EE5;8E787740;
;text-- C3E5DFEA;
;bottom left hud-- A587A342;A617CB61;6DE874FA;DE8CAA6B;5B030A6F;1A7D0F26;E91335D1;
;top left hud (healthbars)-- 07BF8744;DAEC8CF6;B82F9409;9D942355;2A7871DD;DBC347D2;FFFFFFFF;
;bottom right hud (gun icons)-- 7743EE6D;A173AD16;C01B5AB2;
;flip phone-- DF51A69D;61202DD3;64CA4710;DBC76438;D08D9E51;9B587B54;26CC1AA2;26CC1AA2;AF41DA87;CD9EFF79;
;badge (when you press pause)-- 7ADDA892;64B822DC;A6BB0B9E;63253251;F939F1D3;A1930C89;F0ED2E57;8444FEEE;4D079B2B;4F7B6B27;2AB2D7E3;B1156AAC;FB70397E;EDDBFE02;483CF5B1;55D24C97;
;stars (bottom left corner)-- CEBA7144;0BE9523B;6D19229E;
;various main menu UI-- 09BC3098;3BE0F29D;8DAC35CB;8E076988;B79DAF24;EA2F4AFA;60EEC9D5;4149DF39;C01B5AB2;6CFFE6C1;9E50A9EE;A370E33C;4FBC9962;5AE8A7F6;E878260C;E95350CB;495770CE;2B46BE0F;99241B9F;F8A5B467;37EAD478;A24D7110;8E132904;
;pushes entire screen (don't alter this)-- 1BF13165;
[TEX1BF13165]
Index = 0
[TEX44D07C18]
Index = 20
[TEXB613AC97]
Index = 20
[TEX895F0DFD]
Index = 20
[TEX97BE89BC]
Index = 20
;PresIndex = 6
[TEX39E32EE5]
Index = 20
[TEX8E787740]
Index = 20
[VB238EE519.0]
PointsList = 554[/code]
As you can see, it can be quite labor intensive (which is why I didn't bother with it to begin with =P ). Sometimes you can separate by 'W' or by 'Z' to isolate the screen effects. But in this case, it didn't work, unfortunately.
3dmigatoHelixFan said:Basically for stranglehold theres only one vertex shader and pixel shader for hud, i believe. And also when you find em for both the screen freezes, hud disapears, sounds and everything continues playing, and hud of the main menu icons etc and tequila shop section disapears eswell when you toggle it back and forth in debug. The vertex shaders titled 238EE519 And pixel shader is 5AF4E309.
Vertex shader 238EE519 has some screen effects that need to be blacklisted. But in this case, I found it easier to instead whitelist all the necessary HUD & UI textures (via the dx9settings file). Much of this is explained in Bo3b's shaderhacking school. But I annotated the VS and changed it up a bit. I also went ahead and started whitelisting various HUD & UI textures for the first Chapter of the game. There's sure to be more textures that need to be added. I updated the fix on HelixMod and you can try it if you want. Press 'M' to remove HUD & UI.
texldl r24, c247.z, s0 //place depth & convergence in r24
mov r14.x, c254.x //mov index value of texture to temp register
mov r15.z, c246.z //mov VSConst1 (Const3) to temp register
//this places the crosshair in depth & varies the depth depending on the convergence setting
if_eq r14.x, c245.x //index 20-- various crosshairs
if_le r24.y, c244.x //if convergence is less than or equal 80
mad r10.x, r24.x, c243.z, r10.x //crosshair depth = 0.97
endif
if_gt r24.y, c244.x //if convergence is greater than 80
if_le r24.y, c244.y //if convergence is less than or equal 180
mad r10.x, r24.x, c243.y, r10.x //crosshair depth = 0.87
endif
endif
if_gt r24.y, c244.y //if convergence is greater than 180
mad r10.x, r24.x, c243.x, r10.x //crosshair depth = 0.73
endif
endif
//this places HUD & UI at a depth of 0.2-- disabled this feature for now
if_eq r14.x, c247.w //index 2-- HUD & UI
//mad r10.x, r24.x, c243.w, r10.x //hud depth = 0.2
endif
//This will remove the HUD & UI by pressing the 'M' key
if_ne r14.x, c100.x //either index 2 or index 20
if_ne r15.z, c100.x //if the 'M' key is pressed
mov r10, c100 //make r10 = 0 (removes HUD & UI)
endif
endif
;badge (when you press pause)-- 7ADDA892;64B822DC;A6BB0B9E;63253251;F939F1D3;A1930C89;F0ED2E57;8444FEEE;4D079B2B;4F7B6B27;2AB2D7E3;B1156AAC;FB70397E;EDDBFE02;483CF5B1;55D24C97;
;stars (bottom left corner)-- CEBA7144;0BE9523B;6D19229E;
;various main menu UI-- 09BC3098;3BE0F29D;8DAC35CB;8E076988;B79DAF24;EA2F4AFA;60EEC9D5;4149DF39;C01B5AB2;6CFFE6C1;9E50A9EE;A370E33C;4FBC9962;5AE8A7F6;E878260C;E95350CB;495770CE;2B46BE0F;99241B9F;F8A5B467;37EAD478;A24D7110;8E132904;
;pushes entire screen (don't alter this)-- 1BF13165;
[TEX1BF13165]
Index = 0
[TEX44D07C18]
Index = 20
[TEXB613AC97]
Index = 20
[TEX895F0DFD]
Index = 20
[TEX97BE89BC]
Index = 20
;PresIndex = 6
[TEX39E32EE5]
Index = 20
[TEX8E787740]
Index = 20
[VB238EE519.0]
PointsList = 554
As you can see, it can be quite labor intensive (which is why I didn't bother with it to begin with =P ). Sometimes you can separate by 'W' or by 'Z' to isolate the screen effects. But in this case, it didn't work, unfortunately.
[quote="3dmigatoHelixFan"]As for quantom of solace ive searched everywere to remove the bottom left hud icons, but no luck with all shader searching in debug. I dont know what else to do. Ive searched through 2000 vs and ps but with no luck[/quote]
If you haven't already, place a "dx9settings.ini" file in the game directory. If you already have one, ensure that "UseRenderedShaders = true" is under the General tab. And before you cycle the shaders, press the minus key (-) on the number pad. This will drastically reduce the number of shaders you have to go through (to only the shaders currently on the screen).
Some random notes:
- The HUD & UI shader may not disappear when you cycle through (or you may see it move slightly).
- The HUD & UI may be mixed in with other effects and will need to be separated out (as seen above)
- For Helixmod, "VS 0" won't disappear when you cycle through it
- Some older games won't dump all shaders using Helixmod Dlls.
[quote="3dmigatoHelixFan"]Also one last thing. this relates to 3dmigato is max payne 3 question i have, ill copy paste from a forum i asked this: One of the shaders im trying to remove doesnt seem to be PS or VS, how do you cycle through CS/DS/HS? I dont see em cycle through the above of the UI like the PS and VS when i used the keys so i cant mark anything. [/quote]
In the d3dx.ini file, under [Hunting], you can enable the keybindings to cycle for GS, DS & HS. As for the effect you describe, I'm not quite sure. I'll have to download the game to see what it looks like.
3dmigatoHelixFan said:As for quantom of solace ive searched everywere to remove the bottom left hud icons, but no luck with all shader searching in debug. I dont know what else to do. Ive searched through 2000 vs and ps but with no luck
If you haven't already, place a "dx9settings.ini" file in the game directory. If you already have one, ensure that "UseRenderedShaders = true" is under the General tab. And before you cycle the shaders, press the minus key (-) on the number pad. This will drastically reduce the number of shaders you have to go through (to only the shaders currently on the screen).
Some random notes:
- The HUD & UI shader may not disappear when you cycle through (or you may see it move slightly).
- The HUD & UI may be mixed in with other effects and will need to be separated out (as seen above)
- For Helixmod, "VS 0" won't disappear when you cycle through it
- Some older games won't dump all shaders using Helixmod Dlls.
3dmigatoHelixFan said:Also one last thing. this relates to 3dmigato is max payne 3 question i have, ill copy paste from a forum i asked this: One of the shaders im trying to remove doesnt seem to be PS or VS, how do you cycle through CS/DS/HS? I dont see em cycle through the above of the UI like the PS and VS when i used the keys so i cant mark anything.
In the d3dx.ini file, under [Hunting], you can enable the keybindings to cycle for GS, DS & HS. As for the effect you describe, I'm not quite sure. I'll have to download the game to see what it looks like.
Thanks guys, heaps. 4everAwake the max payne 3 shader i cant remove is in the dropbox link last posted, showing what the problem looks like. Its very frustrating i cant seem to find the shader to remove those colors and the distort blur blue line effect thing. I did have to use both VS and PS's to remove all exept the last one left as described. As i cycle the CS/DS/ and HS they dont cycle on the hud above, yet you see things disapearing around as its still showing its cycleing, but doesnt seem to save.. Dont know why. Maybe those are the missing shaders, i dont know, ive tried most of the VS and PS's. I did notice when i somehow got CS shader to cycle above on the hud THEN you could save.. There were 3 CS shaders to cycle and i dont know what to put for cs/ds/hs each if you wanted to remove there effects in the text
Appreciate it so much for the stranglehold hudless mod, its perfect and works like a charm. Thanks for putting your time and effort into it. Its awesome
As for quantom of solace have you to try out the demo, its a small file coz of the very small level. I tried UseRenderedShaders = True but doesnt seem to work for quantom of solace, coz i pressed numpad -, but nothing vs/ps didnt decrease amount, hmm. Its defenetly one of the 4 you mentioned:
- The HUD & UI shader may not disappear when you cycle through (or you may see it move slightly).
- The HUD & UI may be mixed in with other effects and will need to be separated out (as seen above)
- For Helixmod, "VS 0" won't disappear when you cycle through it
- Some older games won't dump all shaders using Helixmod Dlls.
I was using an old debug at the time and tried it then tried the latest injector version of the dll, still no luck, unless its another key.
Overtime i believe the keys were changed at a certain version, i think.
Well anyways thank you, anyone who can help out feel free, i need anyone who would like to spare some of their time of testing on either of these 2 games, as ive tried everything, and dont know what to do. Thanks for your time.
Thanks guys, heaps. 4everAwake the max payne 3 shader i cant remove is in the dropbox link last posted, showing what the problem looks like. Its very frustrating i cant seem to find the shader to remove those colors and the distort blur blue line effect thing. I did have to use both VS and PS's to remove all exept the last one left as described. As i cycle the CS/DS/ and HS they dont cycle on the hud above, yet you see things disapearing around as its still showing its cycleing, but doesnt seem to save.. Dont know why. Maybe those are the missing shaders, i dont know, ive tried most of the VS and PS's. I did notice when i somehow got CS shader to cycle above on the hud THEN you could save.. There were 3 CS shaders to cycle and i dont know what to put for cs/ds/hs each if you wanted to remove there effects in the text
Appreciate it so much for the stranglehold hudless mod, its perfect and works like a charm. Thanks for putting your time and effort into it. Its awesome
As for quantom of solace have you to try out the demo, its a small file coz of the very small level. I tried UseRenderedShaders = True but doesnt seem to work for quantom of solace, coz i pressed numpad -, but nothing vs/ps didnt decrease amount, hmm. Its defenetly one of the 4 you mentioned:
- The HUD & UI shader may not disappear when you cycle through (or you may see it move slightly).
- The HUD & UI may be mixed in with other effects and will need to be separated out (as seen above)
- For Helixmod, "VS 0" won't disappear when you cycle through it
- Some older games won't dump all shaders using Helixmod Dlls.
I was using an old debug at the time and tried it then tried the latest injector version of the dll, still no luck, unless its another key.
Overtime i believe the keys were changed at a certain version, i think.
Well anyways thank you, anyone who can help out feel free, i need anyone who would like to spare some of their time of testing on either of these 2 games, as ive tried everything, and dont know what to do. Thanks for your time.
Recently I've been trying to fix a couple of older DX9 games using Helix mod (obviously), and been running into some issues that have me a bit bewildered.
First issue is that it seems that every game I've tried loading with a debug wrapper from Windows 10 wants to hang/crash on startup, forcing me to load up on Windows 7. Has anyone else ever tried fixing a DX9 game on Windows 10 yet, and able to confirm if they've faced the same issue or not?
The next set of issues are even more perplexing. First I'll talk about Transformers - Devastation (since I just tried working on that this evening). I was able to load the debug dll, as evidenced by the red lettering at the top of the screen, and able to cycle through shaders, but I can't dump any shaders. The weird thing is, though, that the wrapper does automatically create a dumps folder, but no shaders are being dumped in them. I have a strong suspicion that for some reason it's also not recognizing the DX9Settings.ini file. I tried using the UseRenderedShaders=True, yet no matter what screen it always cycles through around 250 VS's and 700 PS's, and also tried DumpAll=True, but even that doesn't dump any shaders (and I have them both in the [General] section, of course). So I'm at a loss here.
Next I'll mention when I tried to fix STALKER - Shadow of Chernobyl about a week back. I actually had the exact same issue with not being able to dump shaders at first, but then I eventually figured something weird out... the game's exe is located in a folder called Bin, which is located in the game's root directory. I was required to have the wrapper DLL located there, however the DX9Settings.ini file and the dumps & shaderoverride folder needed to be located in the game's root directory, instead being in the same dir as the .exe. Next issue I ran into was with trying to fix a broken shader with a standard halo effect. I applied the stereo correction to the texcoord output, but rather than fix the effect, it would simply shift the halo over to the left or right in both eyes depending on whether I was adding or subtracting the stereo correction! After spending some time with it I just said to hell with it.
So, anyone have any clue on any of these? It could be that since it's been a while since I did a DX9 fix that I'm forgetting some elementary stuff, but I like to think I've done everything right and not making some n00b mistake here. I'm starting to wonder if maybe when I removed the evil update on Win7 to get 3DMigoto working to fix another game if it's somehow interfering with Helix mod (I actually just thought of this while typing this, so I'll maybe try to reinstall that tomorrow), or some other conflict. Just thought I'd check first in case anyone else has run into similar issues.
Edit: Ok, so I've reinstalled the evil update, and that didn't seem to change the issue with Transformers, but I found adding GetCurDirAtLoad = true seems to resolve the issues there, and will probably resolve the issue with STALKER needing the files in a different directory (not too confident that will resolve the issue with the stereo correction not working on the broken halo shader, but maybe having installed the evil update will help there).
Recently I've been trying to fix a couple of older DX9 games using Helix mod (obviously), and been running into some issues that have me a bit bewildered.
First issue is that it seems that every game I've tried loading with a debug wrapper from Windows 10 wants to hang/crash on startup, forcing me to load up on Windows 7. Has anyone else ever tried fixing a DX9 game on Windows 10 yet, and able to confirm if they've faced the same issue or not?
The next set of issues are even more perplexing. First I'll talk about Transformers - Devastation (since I just tried working on that this evening). I was able to load the debug dll, as evidenced by the red lettering at the top of the screen, and able to cycle through shaders, but I can't dump any shaders. The weird thing is, though, that the wrapper does automatically create a dumps folder, but no shaders are being dumped in them. I have a strong suspicion that for some reason it's also not recognizing the DX9Settings.ini file. I tried using the UseRenderedShaders=True, yet no matter what screen it always cycles through around 250 VS's and 700 PS's, and also tried DumpAll=True, but even that doesn't dump any shaders (and I have them both in the [General] section, of course). So I'm at a loss here.
Next I'll mention when I tried to fix STALKER - Shadow of Chernobyl about a week back. I actually had the exact same issue with not being able to dump shaders at first, but then I eventually figured something weird out... the game's exe is located in a folder called Bin, which is located in the game's root directory. I was required to have the wrapper DLL located there, however the DX9Settings.ini file and the dumps & shaderoverride folder needed to be located in the game's root directory, instead being in the same dir as the .exe. Next issue I ran into was with trying to fix a broken shader with a standard halo effect. I applied the stereo correction to the texcoord output, but rather than fix the effect, it would simply shift the halo over to the left or right in both eyes depending on whether I was adding or subtracting the stereo correction! After spending some time with it I just said to hell with it.
So, anyone have any clue on any of these? It could be that since it's been a while since I did a DX9 fix that I'm forgetting some elementary stuff, but I like to think I've done everything right and not making some n00b mistake here. I'm starting to wonder if maybe when I removed the evil update on Win7 to get 3DMigoto working to fix another game if it's somehow interfering with Helix mod (I actually just thought of this while typing this, so I'll maybe try to reinstall that tomorrow), or some other conflict. Just thought I'd check first in case anyone else has run into similar issues.
Edit: Ok, so I've reinstalled the evil update, and that didn't seem to change the issue with Transformers, but I found adding GetCurDirAtLoad = true seems to resolve the issues there, and will probably resolve the issue with STALKER needing the files in a different directory (not too confident that will resolve the issue with the stereo correction not working on the broken halo shader, but maybe having installed the evil update will help there).
3D Gaming Rig: CPU: i7 7700K @ 4.9Ghz | Mobo: Asus Maximus Hero VIII | RAM: Corsair Dominator 16GB | GPU: 2 x GTX 1080 Ti SLI | 3xSSDs for OS and Apps, 2 x HDD's for 11GB storage | PSU: Seasonic X-1250 M2| Case: Corsair C70 | Cooling: Corsair H115i Hydro cooler | Displays: Asus PG278QR, BenQ XL2420TX & BenQ HT1075 | OS: Windows 10 Pro + Windows 7 dual boot
hi compis, this it the first time a write here after 2 years )),,
i am trying fix a little the totalwar series, but in warhammer i found a lot important shaders ( maps height floating ground ) with this similar structure, i have being trying the anothers fix from rome, attila ( i dont know yet as a i have can fix them ), but the compiler crash and i can not access to hlsl verion only asm from shadercache.
i try fix after and before inv_view_projection in many combinations, but i need the z? i would need some tips if someone can see it, and i dont see camera position . I can disable it and see the ground perfect but not the texture.
I've got a couple of a general fixing inquiries, so I'm hoping that one of the few active & knowledgeable shaderhackers (which seems to be an ever diminishing # these days) may be able to answer. Essentially, there are 2 different scenario's I've come across where I'm not 100% certain how to fix that I'll explain and provide examples of.
Scenario 1: You apply a stereo correction, but it only works at certain depth and/or convergence values.
My understanding was that this generally means the coordinates are in view space, rather than projection space, and therefore you also need to multiply by the FOV (in most cases either divide by a projection matrix m00 or multiply by an inverse_projection matrix m00). Sometimes the above works... but I've also come across a few occasions where it hasn't, or where it might not be possible to easily find a projection/inverse_projection matrix. What then? Are there alternative ways to obtain the FOV, or is there anything else that could be the cause/solution to this situation?
Here's an example of a lighting shader from Hard Reset Redux where finding the location to fix was simple enough, but it's as explained in scenario 1 as only being correct at certain depth/convergence values. No shader headers, so I had to use frame analysis constant buffer output to locate an inverse_projection matrix, but it's close but not quite right.
Scenario 2: You need to stereo correct a set of coordinate with only an xy coordinate, no zw available.
Basically, how do you obtain a correct depth value when one isn't immediately available? I've seen DSS derive a depth value in some pixel shaders before using other constant buffer values, but couldn't quite get a handle on how he figured that out.
I just came across this one in Transformers - Devastation, where in this game shadows are correct, but create halos around characters & objects. I found the shader and the o1 output is the one needed to be correction, but it's only got an .xy output (Does this mean that these are pixel coordinates?) and the very first line sets the o1.xy output that needs to be corrected which doesn't leave much room to be corrected.
vs_3_0
def c220, 0.2, 0, 0.0625, 0
dcl_2d s0
def c0, 2, -1, -2, 1
def c1, 2, 0, 1, 0
dcl_position v0
dcl_texcoord v1
dcl_position o0
dcl_texcoord o1.xy
dcl_texcoord1 o2
// add o1.xy, c194, v1
// This is the coordinate that needs to be fixed, but no Z or W value. Copying into temp register to attempt fix with W value from position output later
add r1.xy, c194, v1
// Attempted stereo correction here using v1.w or v0.w, and game crashes crashes
mad o2.x, v1.x, c0.x, c0.y
mad o2.y, v1.y, c0.z, c0.w
rcp o2.z, c4.x
rcp o2.w, c5.y
// Attempting to fix o2 moves the shadows, does not affect halo
mad o0, v0.xyxw, c1.xxyz, c1.zzzy
// Subtracting stereo correction on o0 to try to have shadows in 2D breaks all shadows
mad r2, v0.xyxw, c1.xxyz, c1.zzzy
// Doing this to be able to get the o0.w value
texldl r24, c220.z, s0
add r24.w, r2.w, -r24.y
mul r24.w, r24.x, r24.w
mul r24.w, c220.x, r24.w //Stereo correction alone is too much, using manual fudge factor of 0.2 brings it close
add r1.x, r1.x, -r24.w
mov o1.xy, r1.xy
//Adjusts halo only but convergence breaks it
Also, lastly, as I mentioned a few comments ago, I currently cannot seem to load any DX9 game with the Helixmod debug wrapper on Windows 10. Anyone else had any success here?
3D Gaming Rig: CPU: i7 7700K @ 4.9Ghz | Mobo: Asus Maximus Hero VIII | RAM: Corsair Dominator 16GB | GPU: 2 x GTX 1080 Ti SLI | 3xSSDs for OS and Apps, 2 x HDD's for 11GB storage | PSU: Seasonic X-1250 M2| Case: Corsair C70 | Cooling: Corsair H115i Hydro cooler | Displays: Asus PG278QR, BenQ XL2420TX & BenQ HT1075 | OS: Windows 10 Pro + Windows 7 dual boot
Hi DJ-RK:
For the 1st problem:
Try Method 1)
- that is a PS which means that matrix is an InverseViewProjection matrix.
- You need to calculate the normal ViewProjection Matrix
- Make the multiplication.
- subtract the stereo formula
- Multiply the result back with the InverseViewProjection.
- I also see a division by the .w there which you need to take into account.
Best example is to look in Dragon Age: Inquisition (or any Frostbyte3 Engine) on how to do this.
Try Method 2)
- Look at ROTTR fix where there are 2 corrections one in world space and one in view space (if I remember right) and see if that helps out;) Most likely you will need to calculate some of the inverse/normal matrices there so you can use them;)
Hope this helps.
Try Method 1)
- that is a PS which means that matrix is an InverseViewProjection matrix.
- You need to calculate the normal ViewProjection Matrix
- Make the multiplication.
- subtract the stereo formula
- Multiply the result back with the InverseViewProjection.
- I also see a division by the .w there which you need to take into account.
Best example is to look in Dragon Age: Inquisition (or any Frostbyte3 Engine) on how to do this.
Try Method 2)
- Look at ROTTR fix where there are 2 corrections one in world space and one in view space (if I remember right) and see if that helps out;) Most likely you will need to calculate some of the inverse/normal matrices there so you can use them;)
Hope this helps.
1x Palit RTX 2080Ti Pro Gaming OC(watercooled and overclocked to hell)
3x 3D Vision Ready Asus VG278HE monitors (5760x1080).
Intel i9 9900K (overclocked to 5.3 and watercooled ofc).
Asus Maximus XI Hero Mobo.
16 GB Team Group T-Force Dark Pro DDR4 @ 3600.
Lots of Disks:
- Raid 0 - 256GB Sandisk Extreme SSD.
- Raid 0 - WD Black - 2TB.
- SanDisk SSD PLUS 480 GB.
- Intel 760p 256GB M.2 PCIe NVMe SSD.
Creative Sound Blaster Z.
Windows 10 x64 Pro.
etc
Witcher 1 doesn't require a fix...
If you want to "perfect" something to your taste feel free to do so:) The shader school is the way to start;)
1x Palit RTX 2080Ti Pro Gaming OC(watercooled and overclocked to hell)
3x 3D Vision Ready Asus VG278HE monitors (5760x1080).
Intel i9 9900K (overclocked to 5.3 and watercooled ofc).
Asus Maximus XI Hero Mobo.
16 GB Team Group T-Force Dark Pro DDR4 @ 3600.
Lots of Disks:
- Raid 0 - 256GB Sandisk Extreme SSD.
- Raid 0 - WD Black - 2TB.
- SanDisk SSD PLUS 480 GB.
- Intel 760p 256GB M.2 PCIe NVMe SSD.
Creative Sound Blaster Z.
Windows 10 x64 Pro.
etc
My website with my fixes and OpenGL to 3D Vision wrapper:
http://3dsurroundgaming.com
(If you like some of the stuff that I've done and want to donate something, you can do it with PayPal at tavyhome@gmail.com)
When i saw this bug lately i supposed it was due to 3D (Saviola always have this weird bug in the beginning of the game):
I finished the CD version of the 1, have to replay it because i really want to keep my choices for the second and then the last game :(.
About the fix, it was a time in the past i was looking for The Walking Dead season 1 fix, i found on the old Helix website:
http://danburite25.rssing.com/chan-13381253/all_p2.html#item34
I'm trying to start the school for shaderhackers, but i have a problem about the creation of an account of Wiki.
I don't know the answer of the question lol:
" What is the one true name of the God of 3D? "
Sorry for the noob question.
https://forums.geforce.com/default/topic/807717/3d-vision/life-is-strange-3d-vision-surround-support/post/4447123/#4447123
Also there's a fix for Witcher 1
http://helixmod.blogspot.com/2014/05/witcher.html
Where did you found the answer please?
For a newbie it wasn't easy at all lol.
Thank you again for the edit ;).
Maybe bo3b have to make it easier to find no?
Or it's a test :D?
I've been working on a fix for Ryse for some time. I've made some very decent headway, but it's quite the challenge, so I've only been working on it in bits and pieces... basically when I'm in a masochistic sort of mood. :P I actually started looking at it again last night (which actually brought me to this thread, and is how I saw your post), and am close to fixing one of the few major issues remaining. If I can manage to find a solution to this, then that might help give me the motivation to steamroll the rest, so wish me luck! ;)
3D Gaming Rig: CPU: i7 7700K @ 4.9Ghz | Mobo: Asus Maximus Hero VIII | RAM: Corsair Dominator 16GB | GPU: 2 x GTX 1080 Ti SLI | 3xSSDs for OS and Apps, 2 x HDD's for 11GB storage | PSU: Seasonic X-1250 M2| Case: Corsair C70 | Cooling: Corsair H115i Hydro cooler | Displays: Asus PG278QR, BenQ XL2420TX & BenQ HT1075 | OS: Windows 10 Pro + Windows 7 dual boot
Like my fixes? Dontations can be made to: www.paypal.me/DShanz or rshannonca@gmail.com
Like electronic music? Check out: www.soundcloud.com/dj-ryan-king
Sorry for the hard work & challenge to solve the issues.
But it will be a great achievements at the end.
I'm sure this wonderful community will help you.
Basically for stranglehold theres only one vertex shader and pixel shader for hud, i believe. And also when you find em for both the screen freezes, hud disapears, sounds and everything continues playing, and hud of the main menu icons etc and tequila shop section disapears eswell when you toggle it back and forth in debug. The vertex shaders titled 238EE519 And pixel shader is 5AF4E309.
I used the methods from helixmod website that your supose to do to get rid of the hud but screen gos black on any of the two, while hearing the menu song and clicking icons in the background still playing. Anything in the language i need to change? there was a helix mod for stranglehold where he adjusted the crosshair : http://helixmod.blogspot.com.au/2015/08/stranglehold.html How did he move it? you can see in the vertex shader it says this in the original:
//
// Generated by Microsoft (R) D3DX9 Shader Compiler 9.10.455.0000
//
// Parameters:
//
// float4x4 Transform;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// Transform c5 4
//
vs_3_0
dcl_position v0
dcl_texcoord v0
dcl_color v0
dcl_color1 v0
dcl_position o0
dcl_texcoord o1.xy
dcl_color o0
dcl_color1 o0
mul r0, c6, v0.y
mad r0, c5, v0.x, r0
mad r0, c7, v0.z, r0
mad o0, c8, v0.w, r0
mov o1.xy, v1
mov o2, v2
mov o3, v3
// approximately 7 instruction slots used
and helixmods version that he done says this:
// hud (including crosshair)
// Generated by Microsoft (R) D3DX9 Shader Compiler 9.10.455.0000
//
// Parameters:
//
// float4x4 Transform;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// Transform c5 4
//
vs_3_0
def c100, 0, 0, 0, 0
def c247, 0.75, 0.85, 0.0625, 2
dcl_2d s0
dcl_position v0
dcl_texcoord v1
dcl_color v2
dcl_color1 v3
dcl_position o0
dcl_texcoord o1.xy
dcl_color o2
dcl_color1 o3
mul r0, c6, v0.y
mad r0, c5, v0.x, r0
mad r0, c7, v0.z, r0
mad r10, c8, v0.w, r0
texldl r24, c247.z, s0
mov r14.x, c254.x
mov r15.y, c246.y
if_eq r14.x, c247.w
if_ne r15.y, c100.x
mul r24.x, r24.x, -c247.x
add r10.x, r10.x, -r24.x
else
mul r24.x, r24.x, -c247.y
add r10.x, r10.x, -r24.x
endif
endif
mov r15.z, c246.z
if_ne r15.z, c100.x
mov r10, c100
endif
mov o0, r10
mov o1.xy, v1
mov o2, v2
mov o3, v3
// approximately 7 instruction slots used
His changed something or positioned the crosshair judging by this but i dont understand how or what the codes mean in the language.
As for quantom of solace ive searched everywere to remove the bottom left hud icons, but no luck with all shader searching in debug. I dont know what else to do. Ive searched through 2000 vs and ps but with no luck
Also one last thing. this relates to 3dmigato is max payne 3 question i have, ill copy paste from a forum i asked this: One of the shaders im trying to remove doesnt seem to be PS or VS, how do you cycle through CS/DS/HS? I dont see em cycle through the above of the UI like the PS and VS when i used the keys so i cant mark anything.
What im trying to is i basically removed all the blur/yellow effects from max payne 3 exept for the last layer, which is sometimes the screen color go's light red then turns off after couple seconds (this is where a blur or one of those motion blur type flashy effects would appear) but i cant figure out how to remove it. Also another effect where the outline of the characters go's blue and kinda distorts them making a double. Im stuck with removing that too. Which one of the shaders would i be looking for to remove both of these effects? HS/CS/DS? I got rid of all so far but those ones mentioned, by using only PS and VS. Would it mean its in either CS/DS or HS to be able to toggle that off?.. or have i not adjust one of the settings in .ps/.vs txt's?
if theres only something like this in PS txt shader for example where it says:
void main(
float4 v0 : SV_Position0,
float2 v1 : TEXCOORD0,
float4 v2 : COLOR0,
out float4 o0 : SV_Target0)
{
float4 r0,r1;
uint4 bitmask, uiDest;
float4 fDest;
float4 params = IniParams.Load(0);
if (params.x == 0)
{
o0 = 0;
discard;
} else {
You will see its discarding "float4 vo : SV_Position0", but i also see float2 v1 : TEXCOORDo, and float4 v2 : COLORo; below it, does that mean you can remove those too?... Like do this:
void main(
float4 v0 : SV_Position0,
float2 v1 : TEXCOORD0,
float4 v2 : COLOR0,
out float4 o0 : SV_Target0)
out float2 o1 : TEXTCOODo)
out float4 o2 : COLORo)
{
float4 r0,r1;
uint4 bitmask, uiDest;
float4 fDest;
float4 params = IniParams.Load(0);
if (params.x == 0)
{
o0 = 0;
o1 = 0;
o2 = 0;
discard;
} else {
Does that do anything, to activate the other 2 so you remove or you cant do this and only can change whatever says "out float4 o0 : SV_Targeto)" in the out float4 section.. Ive been trying for days now but cant seem to figure out how to remove the remainding colors/distorts., Ive posted pictures of when they take place, unless i missed something while searching in PS/VShaders.: With and when it disapears back to normal color and including the distorts blur etc: https://www.dropbox.com/s/c1nctgqt095vp9f/colors etc.rar?dl=0 Let me know if theres any problem downloading
By the way the above was for to remove one of the huds but i showed the out float 4 thing for example, its gotta be in one of these PS/VS as it mentions "GreenOff, RedOff, BlueOff" etc.
This one is ps, its gotta be one of the ones right now im about to post, maybe i made a syntax error somewere
This one removes dof with its current settings:
cbuffer rage_globals : register(b5)
{
float4 globalScalars : packoffset(c0);
float4 globalScalars2 : packoffset(c1);
float4 globalScalars3 : packoffset(c2);
float4 globalScalars4 : packoffset(c3);
float4 globalFogParams : packoffset(c4);
float4 globalFogColor : packoffset(c5);
float4 globalFogOffsetN : packoffset(c6);
float4 globalFogColorN : packoffset(c7);
float4 globalScreenSize : packoffset(c8);
float4 globalDayNightEffects : packoffset(c9);
float4 ColorCorrectTopAndPedReflectScale : packoffset(c10);
float4 ColorCorrectBottomOffset : packoffset(c11);
float4 ColorShift : packoffset(c12);
float4 deSatContrastGamma : packoffset(c13);
float4 deSatContrastGammaIFX : packoffset(c14);
float4 colorize : packoffset(c15);
float4 globalUmScalars : packoffset(c16);
float4 gToneMapScalers : packoffset(c17);
float4 gAmbientOcclusionEffect : packoffset(c18);
float4 gWaterGlobals : packoffset(c19);
float4 ColorCorrectTopScreenEdge : packoffset(c20);
float4 ColorCorrectBottomOffsetScreenEdge : packoffset(c21);
float4 gScreenSpaceTessFactors : packoffset(c22);
float4 gTessFactors : packoffset(c23);
float4 gFrustumPlaneEquation_Left : packoffset(c24);
float4 gFrustumPlaneEquation_Right : packoffset(c25);
float4 gFrustumPlaneEquation_Top : packoffset(c26);
float4 gFrustumPlaneEquation_Bottom : packoffset(c27);
float4 gTessParameters : packoffset(c28);
}
SamplerState DiffuseSampler_s : register(s1);
Texture2D DiffuseSampler : register(t1);
Texture2D StereoParams : register(t125);
Texture1D IniParams : register(t120);
void main(
float4 v0 : SV_Position0,
float4 v1 : COLOR0,
float2 v2 : TEXCOORD0,
out float4 o0 : SV_Target0)
{
float4 r0;
uint4 bitmask, uiDest;
float4 fDest;
float4 params = IniParams.Load(0);
if (params.x == 0)
{
o0 = 0;
discard;
} else {
r0.xyzw = DiffuseSampler.Sample(DiffuseSampler_s, v2.xy).xyzw;
r0.xyzw = v1.xyzw * r0.xyzw;
o0.xyzw = globalScalars.yyyx * r0.xyzw;
return;
}
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// using 3Dmigoto v1.2.9 on Thu Jun 09 17:03:45 2016
//
//
// Buffer Definitions:
//
// cbuffer rage_globals
// {
//
// float4 globalScalars; // Offset: 0 Size: 16
// float4 globalScalars2; // Offset: 16 Size: 16 [unused]
// float4 globalScalars3; // Offset: 32 Size: 16 [unused]
// float4 globalScalars4; // Offset: 48 Size: 16 [unused]
// float4 globalFogParams; // Offset: 64 Size: 16 [unused]
// float4 globalFogColor; // Offset: 80 Size: 16 [unused]
// float4 globalFogOffsetN; // Offset: 96 Size: 16 [unused]
// float4 globalFogColorN; // Offset: 112 Size: 16 [unused]
// float4 globalScreenSize; // Offset: 128 Size: 16 [unused]
// float4 globalDayNightEffects; // Offset: 144 Size: 16 [unused]
// float4 ColorCorrectTopAndPedReflectScale;// Offset: 160 Size: 16 [unused]
// float4 ColorCorrectBottomOffset; // Offset: 176 Size: 16 [unused]
// float4 ColorShift; // Offset: 192 Size: 16 [unused]
// float4 deSatContrastGamma; // Offset: 208 Size: 16 [unused]
// float4 deSatContrastGammaIFX; // Offset: 224 Size: 16 [unused]
// float4 colorize; // Offset: 240 Size: 16 [unused]
// float4 globalUmScalars; // Offset: 256 Size: 16 [unused]
// float4 gToneMapScalers; // Offset: 272 Size: 16 [unused]
// float4 gAmbientOcclusionEffect; // Offset: 288 Size: 16 [unused]
// float4 gWaterGlobals; // Offset: 304 Size: 16 [unused]
// float4 ColorCorrectTopScreenEdge; // Offset: 320 Size: 16 [unused]
// float4 ColorCorrectBottomOffsetScreenEdge;// Offset: 336 Size: 16 [unused]
// float4 gScreenSpaceTessFactors; // Offset: 352 Size: 16 [unused]
// float4 gTessFactors; // Offset: 368 Size: 16 [unused]
// float4 gFrustumPlaneEquation_Left; // Offset: 384 Size: 16 [unused]
// float4 gFrustumPlaneEquation_Right;// Offset: 400 Size: 16 [unused]
// float4 gFrustumPlaneEquation_Top; // Offset: 416 Size: 16 [unused]
// float4 gFrustumPlaneEquation_Bottom;// Offset: 432 Size: 16 [unused]
// float4 gTessParameters; // Offset: 448 Size: 16 [unused]
//
// }
//
//
// Resource Bindings:
//
// Name Type Format Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// DiffuseSampler sampler NA NA 1 1
// DiffuseSampler texture float4 2d 1 1
// rage_globals cbuffer NA NA 5 1
//
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Position 0 xyzw 0 POS float
// COLOR 0 xyzw 1 NONE float xyzw
// TEXCOORD 0 xy 2 NONE float xy
//
//
// 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 cb5[1], immediateIndexed
dcl_sampler s1, mode_default
dcl_resource_texture2d (float,float,float,float) t1
dcl_input_ps linear v1.xyzw
dcl_input_ps linear v2.xy
dcl_output o0.xyzw
dcl_temps 1
sample_indexable(texture2d)(float,float,float,float) r0.xyzw, v2.xyxx, t1.xyzw, s1
mul r0.xyzw, r0.xyzw, v1.xyzw
mul o0.xyzw, r0.xyzw, cb5[0].yyyx
ret
// Approximately 4 instruction slots used
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
This one removes something else but you can see green/red/blue colors are mentioned yet there not gone still:
cbuffer _Globals : register(b4)
{
float4 TransColor : packoffset(c206);
float4 TransPos : packoffset(c207);
float4 TransTex0 : packoffset(c208);
float4 TexelSize : packoffset(c209);
float GammaCorrection : packoffset(c210);
float g_fBilateralCoefficient : packoffset(c211);
float4 refMipBlurParams : packoffset(c212);
float4 SubViewportParams : packoffset(c213);
float MaskAlphaReverse : packoffset(c214);
float InterlaceIndex : packoffset(c215);
float StencilTech : packoffset(c216);
float InterlaceTotalNum : packoffset(c217);
float2 RedOff : packoffset(c218);
float2 GreenOff : packoffset(c219);
float2 BlueOff : packoffset(c220);
float2 poisson12[12] : packoffset(c224);
}
SamplerState RenderMapPointSampler_s : register(s1);
SamplerState InterlaceMapSampler_s : register(s4);
Texture2D RenderMapPointSampler : register(t1);
Texture2D InterlaceMapSampler : register(t4);
Texture2D StereoParams : register(t125);
Texture1D IniParams : register(t120);
void main(
float4 v0 : SV_Position0,
float2 v1 : TEXCOORD0,
float4 v2 : COLOR0,
out float4 o0 : SV_Target0)
{
float4 r0,r1;
uint4 bitmask, uiDest;
float4 fDest;
float4 params = IniParams.Load(0);
if (params.x == 0)
{
o0 = 0;
discard;
} else {
r0.yzw = RenderMapPointSampler.Sample(RenderMapPointSampler_s, v1.xy).xzw;
r1.x = 0 < InterlaceTotalNum;
if (r1.x != 0) {
r1.x = 1 / InterlaceTotalNum;
r1.y = InterlaceIndex * r1.x;
r1.x = r1.x * 0.5 + r1.y;
r1.y = v1.y;
r0.x = InterlaceMapSampler.Sample(InterlaceMapSampler_s, r1.xy).w;
} else {
r0.x = 1;
}
o0.xyzw = r0.yxzw;
return;
}
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// using 3Dmigoto v1.2.9 on Wed Jun 08 07:24:01 2016
//
//
// Buffer Definitions:
//
// cbuffer $Globals
// {
//
// float4 TransColor; // Offset: 3296 Size: 16 [unused]
// float4 TransPos; // Offset: 3312 Size: 16 [unused]
// float4 TransTex0; // Offset: 3328 Size: 16 [unused]
// float4 TexelSize; // Offset: 3344 Size: 16 [unused]
// float GammaCorrection; // Offset: 3360 Size: 4 [unused]
// float g_fBilateralCoefficient; // Offset: 3376 Size: 4 [unused]
// float4 refMipBlurParams; // Offset: 3392 Size: 16 [unused]
// float4 SubViewportParams; // Offset: 3408 Size: 16 [unused]
// float MaskAlphaReverse; // Offset: 3424 Size: 4 [unused]
// float InterlaceIndex; // Offset: 3440 Size: 4
// float StencilTech; // Offset: 3456 Size: 4 [unused]
// float InterlaceTotalNum; // Offset: 3472 Size: 4
// float2 RedOff; // Offset: 3488 Size: 8 [unused]
// float2 GreenOff; // Offset: 3504 Size: 8 [unused]
// float2 BlueOff; // Offset: 3520 Size: 8 [unused]
// float2 poisson12[12]; // Offset: 3584 Size: 184 [unused]
//
// }
//
//
// Resource Bindings:
//
// Name Type Format Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// RenderMapPointSampler sampler NA NA 1 1
// InterlaceMapSampler sampler NA NA 4 1
// RenderMapPointSampler texture float4 2d 1 1
// InterlaceMapSampler texture float4 2d 4 1
// $Globals cbuffer NA NA 4 1
//
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Position 0 xyzw 0 POS float
// TEXCOORD 0 xy 1 NONE float xy
// COLOR 0 xyzw 2 NONE 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 cb4[218], immediateIndexed
dcl_sampler s1, mode_default
dcl_sampler s4, mode_default
dcl_resource_texture2d (float,float,float,float) t1
dcl_resource_texture2d (float,float,float,float) t4
dcl_input_ps linear v1.xy
dcl_output o0.xyzw
dcl_temps 2
sample_indexable(texture2d)(float,float,float,float) r0.yzw, v1.xyxx, t1.yxzw, s1
lt r1.x, l(0.000000), cb4[217].x
if_nz r1.x
div r1.x, l(1.000000, 1.000000, 1.000000, 1.000000), cb4[217].x
mul r1.y, r1.x, cb4[215].x
mad r1.x, r1.x, l(0.500000), r1.y
mov r1.y, v1.y
sample_indexable(texture2d)(float,float,float,float) r0.x, r1.xyxx, t4.wxyz, s4
else
mov r0.x, l(1.000000)
endif
mov o0.xyzw, r0.yxzw
ret
// Approximately 13 instruction slots used
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
Another one thats similar PS:
cbuffer _Globals : register(b4)
{
float4 TransColor : packoffset(c206);
float4 TransPos : packoffset(c207);
float4 TransTex0 : packoffset(c208);
float4 TexelSize : packoffset(c209);
float GammaCorrection : packoffset(c210);
float g_fBilateralCoefficient : packoffset(c211);
float4 refMipBlurParams : packoffset(c212);
float4 SubViewportParams : packoffset(c213);
float MaskAlphaReverse : packoffset(c214);
float InterlaceIndex : packoffset(c215);
float StencilTech : packoffset(c216);
float InterlaceTotalNum : packoffset(c217);
float2 RedOff : packoffset(c218);
float2 GreenOff : packoffset(c219);
float2 BlueOff : packoffset(c220);
float2 poisson12[12] : packoffset(c224);
}
SamplerState AlphaMaskMapSampler_s : register(s3);
SamplerState InterlaceMapSampler_s : register(s4);
Texture2D AlphaMaskMapSampler : register(t3);
Texture2D InterlaceMapSampler : register(t4);
Texture2DMS RenderPointMapMSAA : register(t5);
Texture2D StereoParams : register(t125);
Texture1D IniParams : register(t120);
void main(
float4 v0 : SV_Position0,
float4 v1 : TEXCOORD0,
float4 v2 : TEXCOORD1,
float4 v3 : COLOR0,
out float4 o0 : SV_Target0)
{
float4 r0,r1,r2,r3,r4;
uint4 bitmask, uiDest;
float4 fDest;
float4 params = IniParams.Load(0);
if (params.x == 0)
{
o0 = 0;
discard;
} else {
r0.x = AlphaMaskMapSampler.Sample(AlphaMaskMapSampler_s, v2.xy).w;
r0.y = 0 < InterlaceTotalNum;
if (r0.y != 0) {
r0.y = 1 / InterlaceTotalNum;
r0.z = InterlaceIndex * r0.y;
r1.x = r0.y * 0.5 + r0.z;
r1.y = v1.y;
r0.y = InterlaceMapSampler.Sample(InterlaceMapSampler_s, r1.xy).w;
} else {
r0.y = 1;
}
r0.z = MaskAlphaReverse == 0.000000;
r0.w = v3.w * r0.x;
r0.x = 1 + -r0.x;
r0.x = v3.w * r0.x;
r0.xw = r0.xw * r0.yy;
r0.x = r0.z ? r0.w : r0.x;
RenderPointMapMSAA.GetDimensions(fDest.x, fDest.y, fDest.z);
r0.yz = fDest.xy;
r0.yz = v1.xy * r0.yz;
r1.xy = (int2)r0.yz;
r1.zw = float2(0,0);
r0.yzw = RenderPointMapMSAA.Load(r1.xy, 0).xyz;
r2.xyz = RenderPointMapMSAA.Load(r1.xy, 1).xyz;
r2.xyzw = r2.xyzx + r0.yzwy;
r0.yzw = RenderPointMapMSAA.Load(r1.xy, 2).xyz;
r2.xyzw = r2.xyzw + r0.yzwy;
r0.yzw = RenderPointMapMSAA.Load(r1.xy, 3).xyz;
r2.xyzw = r2.xyzw + r0.yzwy;
r0.yzw = RenderPointMapMSAA.Load(r1.xy, 4).xyz;
r2.xyzw = r2.xyzw + r0.yzwy;
r0.yzw = RenderPointMapMSAA.Load(r1.xy, 5).xyz;
r2.xyzw = r2.xyzw + r0.yzwy;
r0.yzw = RenderPointMapMSAA.Load(r1.xy, 6).xyz;
r2.xyzw = r2.xyzw + r0.yzwy;
r0.yzw = RenderPointMapMSAA.Load(r1.xy, 7).xyz;
r1.xyzw = r2.xyzw + r0.yzwy;
r2.xyzw = float4(0.125,0.125,0.125,0.0009765625) * r1.xyzw;
r0.y = 0 < r0.x;
r1.xyz = -r1.xyz * float3(0.125,0.125,0.125) + float3(1,1,1);
r3.xyz = v3.xyz * float3(256,256,256) + float3(-128,-128,-128);
r1.xyz = r3.xyz * r1.xyz;
r4.xyz = float3(0,0,0) < r3.xyz;
r1.xyz = float3(0.0078125,0.0078125,0.0078125) * r1.xyz;
r3.xyz = r3.xyz * r2.www;
r1.xyz = r4.xyz ? r1.xyz : r3.xyz;
r2.xyz = r0.yyy ? r2.xyz : 0;
r0.yzw = r0.yyy ? r1.xyz : 0;
o0.xyz = r2.xyz + r0.yzw;
o0.w = r0.x;
return;
}
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// using 3Dmigoto v1.2.9 on Wed Jun 08 06:40:54 2016
//
//
// Buffer Definitions:
//
// cbuffer $Globals
// {
//
// float4 TransColor; // Offset: 3296 Size: 16 [unused]
// float4 TransPos; // Offset: 3312 Size: 16 [unused]
// float4 TransTex0; // Offset: 3328 Size: 16 [unused]
// float4 TexelSize; // Offset: 3344 Size: 16 [unused]
// float GammaCorrection; // Offset: 3360 Size: 4 [unused]
// float g_fBilateralCoefficient; // Offset: 3376 Size: 4 [unused]
// float4 refMipBlurParams; // Offset: 3392 Size: 16 [unused]
// float4 SubViewportParams; // Offset: 3408 Size: 16 [unused]
// float MaskAlphaReverse; // Offset: 3424 Size: 4
// float InterlaceIndex; // Offset: 3440 Size: 4
// float StencilTech; // Offset: 3456 Size: 4 [unused]
// float InterlaceTotalNum; // Offset: 3472 Size: 4
// float2 RedOff; // Offset: 3488 Size: 8 [unused]
// float2 GreenOff; // Offset: 3504 Size: 8 [unused]
// float2 BlueOff; // Offset: 3520 Size: 8 [unused]
// float2 poisson12[12]; // Offset: 3584 Size: 184 [unused]
//
// }
//
//
// Resource Bindings:
//
// Name Type Format Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// AlphaMaskMapSampler sampler NA NA 3 1
// InterlaceMapSampler sampler NA NA 4 1
// AlphaMaskMapSampler texture float4 2d 3 1
// InterlaceMapSampler texture float4 2d 4 1
// RenderPointMapMSAA texture float4 2dMS 5 1
// $Globals cbuffer NA NA 4 1
//
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Position 0 xyzw 0 POS float
// TEXCOORD 0 xyzw 1 NONE float xy
// TEXCOORD 1 xyzw 2 NONE float xy
// COLOR 0 xyzw 3 NONE float xyzw
//
//
// 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 cb4[218], immediateIndexed
dcl_sampler s3, mode_default
dcl_sampler s4, mode_default
dcl_resource_texture2d (float,float,float,float) t3
dcl_resource_texture2d (float,float,float,float) t4
dcl_resource_texture2dms(0) (float,float,float,float) t5
dcl_input_ps linear v1.xy
dcl_input_ps linear v2.xy
dcl_input_ps linear v3.xyzw
dcl_output o0.xyzw
dcl_temps 5
sample_indexable(texture2d)(float,float,float,float) r0.x, v2.xyxx, t3.wxyz, s3
lt r0.y, l(0.000000), cb4[217].x
if_nz r0.y
div r0.y, l(1.000000, 1.000000, 1.000000, 1.000000), cb4[217].x
mul r0.z, r0.y, cb4[215].x
mad r1.x, r0.y, l(0.500000), r0.z
mov r1.y, v1.y
sample_indexable(texture2d)(float,float,float,float) r0.y, r1.xyxx, t4.xwyz, s4
else
mov r0.y, l(1.000000)
endif
eq r0.z, cb4[214].x, l(0.000000)
mul r0.w, r0.x, v3.w
add r0.x, -r0.x, l(1.000000)
mul r0.x, r0.x, v3.w
mul r0.xw, r0.yyyy, r0.xxxw
movc r0.x, r0.z, r0.w, r0.x
resinfo_indexable(texture2dms)(float,float,float,float) r0.yz, l(0), t5.zxyw
mul r0.yz, r0.yyzy, v1.xxyx
ftoi r1.xy, r0.yzyy
mov r1.zw, l(0,0,0,0)
ldms_indexable(texture2dms)(float,float,float,float) r0.yzw, r1.xyww, t5.wxyz, l(0)
ldms_indexable(texture2dms)(float,float,float,float) r2.xyz, r1.xyww, t5.xyzw, l(1)
add r2.xyzw, r0.yzwy, r2.xyzx
ldms_indexable(texture2dms)(float,float,float,float) r0.yzw, r1.xyww, t5.wxyz, l(2)
add r2.xyzw, r0.yzwy, r2.xyzw
ldms_indexable(texture2dms)(float,float,float,float) r0.yzw, r1.xyww, t5.wxyz, l(3)
add r2.xyzw, r0.yzwy, r2.xyzw
ldms_indexable(texture2dms)(float,float,float,float) r0.yzw, r1.xyww, t5.wxyz, l(4)
add r2.xyzw, r0.yzwy, r2.xyzw
ldms_indexable(texture2dms)(float,float,float,float) r0.yzw, r1.xyww, t5.wxyz, l(5)
add r2.xyzw, r0.yzwy, r2.xyzw
ldms_indexable(texture2dms)(float,float,float,float) r0.yzw, r1.xyww, t5.wxyz, l(6)
add r2.xyzw, r0.yzwy, r2.xyzw
ldms_indexable(texture2dms)(float,float,float,float) r0.yzw, r1.xyzw, t5.wxyz, l(7)
add r1.xyzw, r0.yzwy, r2.xyzw
mul r2.xyzw, r1.xyzw, l(0.125000, 0.125000, 0.125000, 0.000976562500)
lt r0.y, l(0.000000), r0.x
mad r1.xyz, -r1.xyzx, l(0.125000, 0.125000, 0.125000, 0.000000), l(1.000000, 1.000000, 1.000000, 0.000000)
mad r3.xyz, v3.xyzx, l(256.000000, 256.000000, 256.000000, 0.000000), l(-128.000000, -128.000000, -128.000000, 0.000000)
mul r1.xyz, r1.xyzx, r3.xyzx
lt r4.xyz, l(0.000000, 0.000000, 0.000000, 0.000000), r3.xyzx
mul r1.xyz, r1.xyzx, l(0.00781250000, 0.00781250000, 0.00781250000, 0.000000)
mul r3.xyz, r2.wwww, r3.xyzx
movc r1.xyz, r4.xyzx, r1.xyzx, r3.xyzx
and r2.xyz, r2.xyzx, r0.yyyy
and r0.yzw, r0.yyyy, r1.xxyz
add o0.xyz, r0.yzwy, r2.xyzx
mov o0.w, r0.x
ret
// Approximately 50 instruction slots used
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
Those familular with max payne 3 and using 3dmigato can probally help, i can send you the shaders?. It also removes graphic novel style slide screens into full screen as soon as screen go's black/white, thats also removed via VS. I just have to narrow down these last few problems in those pictures ive sent: https://www.dropbox.com/s/c1nctgqt095vp9f/colors etc.rar?dl=0 Let me know if theres any problems downloading this
Anyways sorry for the long post... I like making screenshots etc and would like to find out this if anyone knows, Cheers
4everAwake did the Stranglehold fix, not Helix. I'm pretty sure that he bounded the crosshair with a box and then specified that only the texture in the box be placed into depth by using if/endif.
read post 24-29
https://forums.geforce.com/default/topic/809236/3d-vision/obscure-indie-games/post/4639228/#4639228
Vertex shader 238EE519 has some screen effects that need to be blacklisted. But in this case, I found it easier to instead whitelist all the necessary HUD & UI textures (via the dx9settings file). Much of this is explained in Bo3b's shaderhacking school. But I annotated the VS and changed it up a bit. I also went ahead and started whitelisting various HUD & UI textures for the first Chapter of the game. There's sure to be more textures that need to be added. I updated the fix on HelixMod and you can try it if you want. Press 'M' to remove HUD & UI.
VS 238EE519:
dx9settings.ini:
As you can see, it can be quite labor intensive (which is why I didn't bother with it to begin with =P ). Sometimes you can separate by 'W' or by 'Z' to isolate the screen effects. But in this case, it didn't work, unfortunately.
Dual boot Win 7 x64 & Win 10 (1809) | Geforce Drivers 417.35
If you haven't already, place a "dx9settings.ini" file in the game directory. If you already have one, ensure that "UseRenderedShaders = true" is under the General tab. And before you cycle the shaders, press the minus key (-) on the number pad. This will drastically reduce the number of shaders you have to go through (to only the shaders currently on the screen).
Some random notes:
- The HUD & UI shader may not disappear when you cycle through (or you may see it move slightly).
- The HUD & UI may be mixed in with other effects and will need to be separated out (as seen above)
- For Helixmod, "VS 0" won't disappear when you cycle through it
- Some older games won't dump all shaders using Helixmod Dlls.
In the d3dx.ini file, under [Hunting], you can enable the keybindings to cycle for GS, DS & HS. As for the effect you describe, I'm not quite sure. I'll have to download the game to see what it looks like.
Dual boot Win 7 x64 & Win 10 (1809) | Geforce Drivers 417.35
Appreciate it so much for the stranglehold hudless mod, its perfect and works like a charm. Thanks for putting your time and effort into it. Its awesome
As for quantom of solace have you to try out the demo, its a small file coz of the very small level. I tried UseRenderedShaders = True but doesnt seem to work for quantom of solace, coz i pressed numpad -, but nothing vs/ps didnt decrease amount, hmm. Its defenetly one of the 4 you mentioned:
- The HUD & UI shader may not disappear when you cycle through (or you may see it move slightly).
- The HUD & UI may be mixed in with other effects and will need to be separated out (as seen above)
- For Helixmod, "VS 0" won't disappear when you cycle through it
- Some older games won't dump all shaders using Helixmod Dlls.
I was using an old debug at the time and tried it then tried the latest injector version of the dll, still no luck, unless its another key.
Overtime i believe the keys were changed at a certain version, i think.
Well anyways thank you, anyone who can help out feel free, i need anyone who would like to spare some of their time of testing on either of these 2 games, as ive tried everything, and dont know what to do. Thanks for your time.
First issue is that it seems that every game I've tried loading with a debug wrapper from Windows 10 wants to hang/crash on startup, forcing me to load up on Windows 7. Has anyone else ever tried fixing a DX9 game on Windows 10 yet, and able to confirm if they've faced the same issue or not?
The next set of issues are even more perplexing. First I'll talk about Transformers - Devastation (since I just tried working on that this evening). I was able to load the debug dll, as evidenced by the red lettering at the top of the screen, and able to cycle through shaders, but I can't dump any shaders. The weird thing is, though, that the wrapper does automatically create a dumps folder, but no shaders are being dumped in them. I have a strong suspicion that for some reason it's also not recognizing the DX9Settings.ini file. I tried using the UseRenderedShaders=True, yet no matter what screen it always cycles through around 250 VS's and 700 PS's, and also tried DumpAll=True, but even that doesn't dump any shaders (and I have them both in the [General] section, of course). So I'm at a loss here.
Next I'll mention when I tried to fix STALKER - Shadow of Chernobyl about a week back. I actually had the exact same issue with not being able to dump shaders at first, but then I eventually figured something weird out... the game's exe is located in a folder called Bin, which is located in the game's root directory. I was required to have the wrapper DLL located there, however the DX9Settings.ini file and the dumps & shaderoverride folder needed to be located in the game's root directory, instead being in the same dir as the .exe. Next issue I ran into was with trying to fix a broken shader with a standard halo effect. I applied the stereo correction to the texcoord output, but rather than fix the effect, it would simply shift the halo over to the left or right in both eyes depending on whether I was adding or subtracting the stereo correction! After spending some time with it I just said to hell with it.
So, anyone have any clue on any of these? It could be that since it's been a while since I did a DX9 fix that I'm forgetting some elementary stuff, but I like to think I've done everything right and not making some n00b mistake here. I'm starting to wonder if maybe when I removed the evil update on Win7 to get 3DMigoto working to fix another game if it's somehow interfering with Helix mod (I actually just thought of this while typing this, so I'll maybe try to reinstall that tomorrow), or some other conflict. Just thought I'd check first in case anyone else has run into similar issues.
Edit: Ok, so I've reinstalled the evil update, and that didn't seem to change the issue with Transformers, but I found adding GetCurDirAtLoad = true seems to resolve the issues there, and will probably resolve the issue with STALKER needing the files in a different directory (not too confident that will resolve the issue with the stereo correction not working on the broken halo shader, but maybe having installed the evil update will help there).
3D Gaming Rig: CPU: i7 7700K @ 4.9Ghz | Mobo: Asus Maximus Hero VIII | RAM: Corsair Dominator 16GB | GPU: 2 x GTX 1080 Ti SLI | 3xSSDs for OS and Apps, 2 x HDD's for 11GB storage | PSU: Seasonic X-1250 M2| Case: Corsair C70 | Cooling: Corsair H115i Hydro cooler | Displays: Asus PG278QR, BenQ XL2420TX & BenQ HT1075 | OS: Windows 10 Pro + Windows 7 dual boot
Like my fixes? Dontations can be made to: www.paypal.me/DShanz or rshannonca@gmail.com
Like electronic music? Check out: www.soundcloud.com/dj-ryan-king
hi compis, this it the first time a write here after 2 years )),,
i am trying fix a little the totalwar series, but in warhammer i found a lot important shaders ( maps height floating ground ) with this similar structure, i have being trying the anothers fix from rome, attila ( i dont know yet as a i have can fix them ), but the compiler crash and i can not access to hlsl verion only asm from shadercache.
i try fix after and before inv_view_projection in many combinations, but i need the z? i would need some tips if someone can see it, and i dont see camera position . I can disable it and see the ground perfect but not the texture.
//
// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.0
//
// using 3Dmigoto v1.2.37 on Fri Jun 24 23:06:32 2016
//
//
// Buffer Definitions:
//
// cbuffer camera
// {
//
// float3 camera_position; // Offset: 0 Size: 12 [unused]
// float4x4 view; // Offset: 16 Size: 64 [unused]
// float4x4 projection; // Offset: 80 Size: 64 [unused]
// float4x4 view_projection; // Offset: 144 Size: 64 [unused]
// float4x4 inv_view; // Offset: 208 Size: 64 [unused]
// float4x4 inv_projection; // Offset: 272 Size: 64 [unused]
// float4x4 inv_view_projection; // Offset: 336 Size: 64
// float4 camera_near_far; // Offset: 400 Size: 16 [unused]
// float time_in_sec; // Offset: 416 Size: 4 [unused]
// float2 g_inverse_focal_length; // Offset: 420 Size: 8 [unused]
// float g_vertical_fov; // Offset: 428 Size: 4 [unused]
// float4 g_screen_size; // Offset: 432 Size: 16
// float g_vpos_texel_offset; // Offset: 448 Size: 4
// float4 g_viewport_dimensions; // Offset: 464 Size: 16
// float2 g_viewport_origin; // Offset: 480 Size: 8
// float4 g_render_target_dimensions; // Offset: 496 Size: 16 [unused]
// float4 g_camera_temp0; // Offset: 512 Size: 16 [unused]
// float4 g_camera_temp1; // Offset: 528 Size: 16 [unused]
// float4 g_camera_temp2; // Offset: 544 Size: 16 [unused]
// float4 g_clip_rect; // Offset: 560 Size: 16 [unused]
// float3 g_vr_head_rotation; // Offset: 576 Size: 12 [unused]
// int g_num_of_samples; // Offset: 588 Size: 4 [unused]
// float g_supersampling; // Offset: 592 Size: 4 [unused]
// float4 g_mouse_position; // Offset: 608 Size: 16 [unused]
//
// }
//
// cbuffer vs_height_map_cb
// {
//
// float g_height_map_lf_scale; // Offset: 0 Size: 4 [unused]
// float g_height_map_hf_scale; // Offset: 4 Size: 4 [unused]
// float g_height_map_vertical_offset;// Offset: 8 Size: 4 [unused]
// float4 g_height_map_dimension; // Offset: 16 Size: 16 [unused]
// float2 g_world_dimensions; // Offset: 32 Size: 8
// float g_lf_uv_offset; // Offset: 40 Size: 4 [unused]
// float4 g_layer0_texture_index; // Offset: 48 Size: 16 [unused]
// float4 g_layer1_texture_index; // Offset: 64 Size: 16 [unused]
// float g_far_terrain_scale; // Offset: 80 Size: 4 [unused]
// float2 g_far_render_bounds; // Offset: 84 Size: 8 [unused]
// float2 g_custom_tile_size; // Offset: 96 Size: 8 [unused]
//
// }
//
// cbuffer ps_height_map_cb
// {
//
// float4 g_mid_distance_details; // Offset: 0 Size: 16 [unused]
// float g_mid_distance_normal_strength;// Offset: 16 Size: 4 [unused]
// float2 g_mid_distance_slope; // Offset: 20 Size: 8 [unused]
// float3 g_normal_scales; // Offset: 32 Size: 12
// float g_far_tile_distance; // Offset: 44 Size: 4 [unused]
// float2 g_far_blend_range; // Offset: 48 Size: 8 [unused]
// float4 g_far_world_write_uv_offset;// Offset: 64 Size: 16 [unused]
// float g_far_world_read_uv_offset; // Offset: 80 Size: 4 [unused]
// float4 g_far_world_uvs; // Offset: 96 Size: 16 [unused]
// float4x4 g_grid_transform; // Offset: 112 Size: 64 [unused]
// float4 g_grid_colour0; // Offset: 176 Size: 16 [unused]
// float4 g_grid_colour1; // Offset: 192 Size: 16 [unused]
//
// }
//
// cbuffer ps_texture_array_cb
// {
//
// float4 g_blend_pixel_scale_array[400];// Offset: 0 Size: 6400
// float4 g_layer_exempt_groups; // Offset: 6400 Size: 16
// float2 g_sea_texture_index; // Offset: 6416 Size: 8 [unused]
// float4 g_tile_debug_colour; // Offset: 6432 Size: 16 [unused]
//
// }
//
//
// Resource Bindings:
//
// Name Type Format Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// s_normal_map sampler NA NA 0 1
// s_blend0_map sampler NA NA 1 1
// s_blend1_map sampler NA NA 2 1
// s_alpha_map sampler NA NA 3 1
// s_depth_map sampler NA NA 4 1
// s_lf_normal_map sampler NA NA 5 1
// s_diffuse_array sampler NA NA 6 1
// s_normal_array sampler NA NA 7 1
// s_spec_gloss_array sampler NA NA 8 1
// t_normal_map texture float4 2d 0 1
// t_blend0_map texture float4 2d 1 1
// t_blend1_map texture float4 2d 2 1
// t_alpha_map texture float4 2d 3 1
// t_depth_map texture float4 2d 4 1
// t_lf_normal_map texture float4 2d 5 1
// t_diffuse_array texture float4 2darray 6 1
// t_normal_array texture float4 2darray 7 1
// t_spec_gloss_array texture float4 2darray 8 1
// camera cbuffer NA NA 0 1
// vs_height_map_cb cbuffer NA NA 1 1
// ps_height_map_cb cbuffer NA NA 2 1
// ps_texture_array_cb cbuffer NA NA 3 1
//
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Position 0 xyzw 0 POS float xy
// TEXCOORD 0 xy 1 NONE float
// TEXCOORD 1 xyzw 2 NONE float xyzw
// TEXCOORD 2 xy 3 NONE float x
// TEXCOORD 3 xyzw 4 NONE float xyzw
// TEXCOORD 4 xyzw 5 NONE float xyzw
//
//
// Output signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target 0 xyzw 0 TARGET float xyzw
// SV_Target 1 xyzw 1 TARGET float xyzw
// SV_Target 2 xyzw 2 TARGET float xyzw
//
ps_4_0
dcl_immediateConstantBuffer { { 1.000000, 0, 0, 0},
{ 0, 1.000000, -1.000000, 0},
{ -1.000000, 0, 0, 0},
{ 0, -1.000000, 1.000000, 0} }
dcl_constantbuffer cb0[31], immediateIndexed
dcl_constantbuffer cb1[3], immediateIndexed
dcl_constantbuffer cb2[3], immediateIndexed
dcl_constantbuffer cb3[401], dynamicIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_sampler s2, mode_default
dcl_sampler s3, mode_default
dcl_sampler s4, mode_default
dcl_sampler s5, mode_default
dcl_sampler s6, mode_default
dcl_sampler s7, mode_default
dcl_sampler s8, 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_resource_texture2d (float,float,float,float) t3
dcl_resource_texture2d (float,float,float,float) t4
dcl_resource_texture2d (float,float,float,float) t5
dcl_resource_texture2darray (float,float,float,float) t6
dcl_resource_texture2darray (float,float,float,float) t7
dcl_resource_texture2darray (float,float,float,float) t8
dcl_input_ps_siv linear noperspective v0.xy, position
dcl_input_ps constant v2.xyzw
dcl_input_ps constant v3.x
dcl_input_ps constant v4.xyzw
dcl_input_ps constant v5.xyzw
dcl_output o0.xyzw
dcl_output o1.xyzw
dcl_output o2.xyzw
dcl_temps 12
add r0.xy, v0.xyxx, cb0[28].xxxx
mul r0.xy, r0.xyxx, cb0[27].zwzz
sample_l r0.xyzw, r0.xyxx, t4.yzxw, s4, l(0.000000)
add r1.xy, v0.xyxx, -cb0[30].xyxx
add r1.xy, r1.xyxx, cb0[28].xxxx
mul r1.xy, r1.xyxx, cb0[29].zwzz
mad r0.xy, r1.xyxx, l(2.000000, -2.000000, 0.000000, 0.000000), l(-1.000000, 1.000000, 0.000000, 0.000000)
mov r0.w, l(1.000000)
dp4 r1.x, r0.xyzw, cb0[21].xyzw
dp4 r1.y, r0.xyzw, cb0[23].xyzw
dp4 r0.x, r0.xyzw, cb0[24].xyzw
div r0.xy, r1.xyxx, r0.xxxx
min r1.xyzw, v2.zzww, v2.xxyy
max r2.xyzw, v2.zzww, v2.xxyy
lt r0.zw, r0.xxxy, r1.yyyw
lt r3.xy, r2.ywyy, r0.xyxx
or r0.z, r0.z, r3.x
or r0.z, r0.w, r0.z
or r0.z, r3.y, r0.z
discard_nz r0.z
add r3.xyzw, r0.xxyy, -r1.yyww
add r0.z, v3.x, l(0.100000)
round_ni r0.z, r0.z
ftoi r0.z, r0.z
add r1.xyzw, -r1.xyzw, r2.xyzw
div r1.xyzw, r3.xyzw, r1.xyzw
add r1.xyzw, r1.xyzw, l(-0.500000, -0.500000, -0.500000, -0.500000)
mul r1.xyzw, r1.xyzw, icb[r0.z + 0].xyzx
add r1.xy, r1.zwzz, r1.xyxx
add r1.xy, r1.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
sample r2.xyzw, r1.xyxx, t3.xyzw, s3
mad r0.w, r2.x, l(1.100000), l(-0.100000)
lt r1.z, r0.w, l(0.000000)
discard_nz r1.z
sample r2.xyzw, r1.xyxx, t1.xyzw, s1
sample r3.xyzw, r1.xyxx, t2.xyzw, s2
sample r1.xyzw, r1.xyxx, t0.xyzw, s0
add r1.xyzw, r1.wwyy, l(0.00196078443, 0.00196078443, 0.00196078443, 0.00196078443)
mad r1.xyzw, r1.xyzw, l(2.000000, 2.000000, 2.000000, 2.000000), l(-1.000000, -1.000000, -1.000000, -1.000000)
dp2 r4.x, r1.ywyy, r1.ywyy
add r4.x, -r4.x, l(1.000000)
max r4.x, r4.x, l(0.000000)
sqrt r4.y, r4.x
mul r1.xyzw, r1.xyzw, icb[r0.z + 0].xzyx
add r4.xz, r1.zzwz, r1.xxyx
div r1.xy, r0.xyxx, cb1[2].xyxx
mul r1.xy, r1.xyxx, l(1.000000, -1.000000, 0.000000, 0.000000)
sample r1.xyzw, r1.xyxx, t5.xyzw, s5
add r1.xy, r1.wyww, l(0.00196078443, 0.00196078443, 0.000000, 0.000000)
mad r1.xz, r1.xxyx, l(2.000000, 0.000000, 2.000000, 0.000000), l(-1.000000, 0.000000, -1.000000, 0.000000)
dp2 r0.z, r1.xzxx, r1.xzxx
add r0.z, -r0.z, l(1.000000)
max r0.z, r0.z, l(0.000000)
sqrt r1.y, r0.z
mov r5.xz, cb2[2].xxxx
mov r5.y, l(1.000000)
mul r1.xyz, r1.xyzx, r5.xyzx
dp3 r0.z, r1.xyzx, r1.xyzx
rsq r0.z, r0.z
mul r1.xyz, r0.zzzz, r1.xyzx
mov r5.xz, cb2[2].yyyy
mov r5.y, l(1.000000)
mul r4.xyz, r4.xyzx, r5.xyzx
dp3 r0.z, r4.xyzx, r4.xyzx
rsq r0.z, r0.z
mul r4.xyz, r0.zzzz, r4.xyzx
mul r5.xyz, r1.yzxy, l(0.000000, 1.000000, 0.000000, 0.000000)
mad r5.xyz, r1.zxyz, l(0.000000, 0.000000, 1.000000, 0.000000), -r5.xyzx
dp2 r0.z, r5.yzyy, r5.yzyy
rsq r0.z, r0.z
mul r5.xyz, r0.zzzz, r5.xyzx
mul r6.xyz, r1.zxyz, r5.yzxy
mad r6.xyz, r1.yzxy, r5.zxyz, -r6.xyzx
dp3 r0.z, r6.xyzx, r6.xyzx
rsq r0.z, r0.z
mul r6.xyz, r0.zzzz, r6.xyzx
mul r1.xyz, r1.xyzx, r4.yyyy
mad r1.xyz, r4.xxxx, r6.xyzx, r1.xyzx
mad r1.xyz, r4.zzzz, r5.xyzx, r1.xyzx
dp3 r0.z, r1.xyzx, r1.xyzx
rsq r0.z, r0.z
mul r1.xyz, r0.zzzz, r1.xyzx
mul r1.xyz, r0.wwww, r1.xyzx
ftou r4.xyzw, v4.xyzw
ftou r5.xyzw, v5.xyzw
mov r6.x, cb3[r4.x + 0].z
mov r6.y, cb3[r4.y + 0].z
mov r6.z, cb3[r4.z + 0].z
mov r6.w, cb3[r4.w + 0].z
dp4 r0.z, r6.xyzw, r2.xyzw
mov r4.x, cb3[r5.x + 0].z
mov r4.y, cb3[r5.y + 0].z
mov r4.z, cb3[r5.z + 0].z
mov r4.w, cb3[r5.w + 0].z
dp4 r1.w, r4.xyzw, r3.xyzw
add o2.z, r0.z, r1.w
add r4.xyzw, r2.wzyx, l(-0.000010, -0.000010, -0.000010, -0.000010)
mul_sat r4.xyzw, r4.xyzw, l(340282346638528860000000000000000000000.000000, 340282346638528860000000000000000000000.000000, 340282346638528860000000000000000000000.000000, 340282346638528860000000000000000000000.000000)
add r5.xyzw, r3.xyzw, l(-0.000010, -0.000010, -0.000010, -0.000010)
mul_sat r5.xyzw, r5.xyzw, l(340282346638528860000000000000000000000.000000, 340282346638528860000000000000000000000.000000, 340282346638528860000000000000000000000.000000, 340282346638528860000000000000000000000.000000)
mov r6.xyz, l(0,0,0,0)
mov r7.xyz, l(0,0,0,0)
mov r8.xy, l(0,0,0,0)
mov r0.z, l(0)
mov r1.w, l(0)
loop
uge r6.w, r1.w, l(8)
breakc_nz r6.w
ieq r9.xyzw, r1.wwww, l(3, 2, 1, 0)
ieq r10.xyzw, r1.wwww, l(4, 5, 6, 7)
and r9.xyzw, r9.xyzw, l(0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000)
and r10.xyzw, r10.xyzw, l(0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000)
dp4 r6.w, r9.wzyx, r2.xyzw
mad r6.w, r10.x, r3.x, r6.w
mad r6.w, r10.y, r3.y, r6.w
mad r6.w, r10.z, r3.z, r6.w
mad r6.w, r10.w, r3.w, r6.w
lt r7.w, l(0.000000), r6.w
if_nz r7.w
dp4 r7.w, r9.wzyx, v4.xyzw
mad r7.w, r10.x, v5.x, r7.w
mad r7.w, r10.y, v5.y, r7.w
mad r7.w, r10.z, v5.z, r7.w
mad r11.z, r10.w, v5.w, r7.w
dp4 r7.w, r9.xyzw, r4.xyzw
mad r7.w, r10.x, r5.x, r7.w
mad r7.w, r10.y, r5.y, r7.w
mad r7.w, r10.z, r5.z, r7.w
mad r7.w, r10.w, r5.w, r7.w
ftou r8.z, r11.z
div r8.zw, r0.xxxy, cb3[r8.z + 0].xxxx
mul r11.xy, r7.wwww, r8.zwzz
sample r9.xyzw, r11.xyzx, t6.xyzw, s6
add_sat r8.zw, -r9.wwww, l(0.000000, 0.000000, 0.500000, 1.500000)
add r7.w, -r8.z, r8.w
add r6.w, r6.w, -r8.z
div r7.w, l(1.000000, 1.000000, 1.000000, 1.000000), r7.w
mul_sat r6.w, r6.w, r7.w
mad r7.w, r6.w, l(-2.000000), l(3.000000)
mul r6.w, r6.w, r6.w
mul r6.w, r6.w, r7.w
mul r7.w, r0.w, r6.w
mad r0.z, r6.w, r0.w, r0.z
lt r6.w, l(0.000000), r7.w
if_nz r6.w
sample r10.xyzw, r11.xyzx, t7.xyzw, s7
add r8.zw, r10.wwwy, l(0.000000, 0.000000, 0.00196078443, 0.00196078443)
mad r10.xz, r8.zzwz, l(2.000000, 0.000000, 2.000000, 0.000000), l(-1.000000, 0.000000, -1.000000, 0.000000)
dp2 r6.w, r10.xzxx, r10.xzxx
add r6.w, -r6.w, l(1.000000)
max r6.w, r6.w, l(0.000000)
sqrt r10.y, r6.w
sample r11.xyzw, r11.xyzx, t8.xyzw, s8
mad r6.xyz, r9.xyzx, r7.wwww, r6.xyzx
mad r7.xyz, r10.xyzx, r7.wwww, r7.xyzx
mad r8.xy, r11.xwxx, r7.wwww, r8.xyxx
endif
endif
iadd r1.w, r1.w, l(1)
endloop
mov o2.xy, r8.xyxx
div r0.x, r0.z, r0.w
div o0.xyz, r6.xyzx, r0.xxxx
mov r0.xz, cb2[2].zzzz
mov r0.y, l(1.000000)
mul r0.xyz, r0.xyzx, r7.xyzx
dp3 r1.w, r0.xyzx, r0.xyzx
rsq r1.w, r1.w
mul r0.xyz, r0.xyzx, r1.wwww
mul r4.xyz, r1.yzxy, l(0.000000, 1.000000, 0.000000, 0.000000)
mad r4.xyz, r1.zxyz, l(0.000000, 0.000000, 1.000000, 0.000000), -r4.xyzx
dp2 r1.w, r4.yzyy, r4.yzyy
rsq r1.w, r1.w
mul r4.xyz, r1.wwww, r4.xyzx
mul r5.xyz, r1.zxyz, r4.yzxy
mad r5.xyz, r1.yzxy, r4.zxyz, -r5.xyzx
dp3 r1.w, r5.xyzx, r5.xyzx
rsq r1.w, r1.w
mul r5.xyz, r1.wwww, r5.xyzx
mul r1.xyz, r1.xyzx, r0.yyyy
mad r1.xyz, r0.xxxx, r5.xyzx, r1.xyzx
mad o1.xyz, r0.zzzz, r4.xyzx, r1.xyzx
add r1.xyzw, v4.xyzw, -cb3[400].xxxx
min r1.xyzw, |r1.xyzw|, l(1.000000, 1.000000, 1.000000, 1.000000)
add r1.xyzw, -r1.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
mul r1.xyzw, r2.xyzw, r1.xyzw
dp4 r0.x, r1.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
add r1.xyzw, v4.xyzw, -cb3[400].yyyy
min r1.xyzw, |r1.xyzw|, l(1.000000, 1.000000, 1.000000, 1.000000)
add r1.xyzw, -r1.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
mul r1.xyzw, r2.xyzw, r1.xyzw
dp4 r0.y, r1.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
add r1.xyzw, v4.xyzw, -cb3[400].zzzz
min r1.xyzw, |r1.xyzw|, l(1.000000, 1.000000, 1.000000, 1.000000)
add r1.xyzw, -r1.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
mul r1.xyzw, r2.xyzw, r1.xyzw
dp4 r0.z, r1.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
add r0.xyz, -r0.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
add r1.xyzw, v4.xyzw, -cb3[400].wwww
min r1.xyzw, |r1.xyzw|, l(1.000000, 1.000000, 1.000000, 1.000000)
add r1.xyzw, -r1.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
mul r1.xyzw, r2.xyzw, r1.xyzw
dp4 r1.x, r1.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
add r2.xyzw, v5.xyzw, -cb3[400].xxxx
min r2.xyzw, |r2.xyzw|, l(1.000000, 1.000000, 1.000000, 1.000000)
add r2.xyzw, -r2.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
mul r2.xyzw, r3.xyzw, r2.xyzw
dp4 r1.y, r2.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
add r2.xyzw, v5.xyzw, -cb3[400].yyyy
min r2.xyzw, |r2.xyzw|, l(1.000000, 1.000000, 1.000000, 1.000000)
add r2.xyzw, -r2.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
mul r2.xyzw, r3.xyzw, r2.xyzw
dp4 r1.z, r2.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
add r2.xyzw, v5.xyzw, -cb3[400].zzzz
min r2.xyzw, |r2.xyzw|, l(1.000000, 1.000000, 1.000000, 1.000000)
add r2.xyzw, -r2.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
mul r2.xyzw, r3.xyzw, r2.xyzw
dp4 r1.w, r2.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
add r1.xyzw, -r1.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
add r2.xyzw, v5.xyzw, -cb3[400].wwww
min r2.xyzw, |r2.xyzw|, l(1.000000, 1.000000, 1.000000, 1.000000)
add r2.xyzw, -r2.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
mul r2.xyzw, r3.xyzw, r2.xyzw
dp4 r2.x, r2.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
add r2.x, -r2.x, l(1.000000)
mul r0.x, r0.y, r0.x
mul r0.xy, r0.zwzz, r0.xwxx
mul r0.x, r1.x, r0.x
mul r0.x, r1.y, r0.x
mul r0.x, r1.z, r0.x
mul r0.x, r1.w, r0.x
mul r0.x, r2.x, r0.x
mul o2.w, r0.x, r0.y
mov o0.w, r0.w
mov o1.w, l(0)
ret
// Approximately 236 instruction slots used
Windows 7 64bit, i7, GTX680, 16GB, Benq 120hz
Scenario 1: You apply a stereo correction, but it only works at certain depth and/or convergence values.
My understanding was that this generally means the coordinates are in view space, rather than projection space, and therefore you also need to multiply by the FOV (in most cases either divide by a projection matrix m00 or multiply by an inverse_projection matrix m00). Sometimes the above works... but I've also come across a few occasions where it hasn't, or where it might not be possible to easily find a projection/inverse_projection matrix. What then? Are there alternative ways to obtain the FOV, or is there anything else that could be the cause/solution to this situation?
Here's an example of a lighting shader from Hard Reset Redux where finding the location to fix was simple enough, but it's as explained in scenario 1 as only being correct at certain depth/convergence values. No shader headers, so I had to use frame analysis constant buffer output to locate an inverse_projection matrix, but it's close but not quite right.
Scenario 2: You need to stereo correct a set of coordinate with only an xy coordinate, no zw available.
Basically, how do you obtain a correct depth value when one isn't immediately available? I've seen DSS derive a depth value in some pixel shaders before using other constant buffer values, but couldn't quite get a handle on how he figured that out.
I just came across this one in Transformers - Devastation, where in this game shadows are correct, but create halos around characters & objects. I found the shader and the o1 output is the one needed to be correction, but it's only got an .xy output (Does this mean that these are pixel coordinates?) and the very first line sets the o1.xy output that needs to be corrected which doesn't leave much room to be corrected.
Here's the unmodified shader:
And here's what I did to attempt to fix: I replaced o1 with a temp register so I could later use the o0.w value to attempt to perform the fix with.
Also, lastly, as I mentioned a few comments ago, I currently cannot seem to load any DX9 game with the Helixmod debug wrapper on Windows 10. Anyone else had any success here?
3D Gaming Rig: CPU: i7 7700K @ 4.9Ghz | Mobo: Asus Maximus Hero VIII | RAM: Corsair Dominator 16GB | GPU: 2 x GTX 1080 Ti SLI | 3xSSDs for OS and Apps, 2 x HDD's for 11GB storage | PSU: Seasonic X-1250 M2| Case: Corsair C70 | Cooling: Corsair H115i Hydro cooler | Displays: Asus PG278QR, BenQ XL2420TX & BenQ HT1075 | OS: Windows 10 Pro + Windows 7 dual boot
Like my fixes? Dontations can be made to: www.paypal.me/DShanz or rshannonca@gmail.com
Like electronic music? Check out: www.soundcloud.com/dj-ryan-king
For the 1st problem:
Try Method 1)
- that is a PS which means that matrix is an InverseViewProjection matrix.
- You need to calculate the normal ViewProjection Matrix
- Make the multiplication.
- subtract the stereo formula
- Multiply the result back with the InverseViewProjection.
- I also see a division by the .w there which you need to take into account.
Best example is to look in Dragon Age: Inquisition (or any Frostbyte3 Engine) on how to do this.
Try Method 2)
- Look at ROTTR fix where there are 2 corrections one in world space and one in view space (if I remember right) and see if that helps out;) Most likely you will need to calculate some of the inverse/normal matrices there so you can use them;)
Hope this helps.
1x Palit RTX 2080Ti Pro Gaming OC(watercooled and overclocked to hell)
3x 3D Vision Ready Asus VG278HE monitors (5760x1080).
Intel i9 9900K (overclocked to 5.3 and watercooled ofc).
Asus Maximus XI Hero Mobo.
16 GB Team Group T-Force Dark Pro DDR4 @ 3600.
Lots of Disks:
- Raid 0 - 256GB Sandisk Extreme SSD.
- Raid 0 - WD Black - 2TB.
- SanDisk SSD PLUS 480 GB.
- Intel 760p 256GB M.2 PCIe NVMe SSD.
Creative Sound Blaster Z.
Windows 10 x64 Pro.
etc
My website with my fixes and OpenGL to 3D Vision wrapper:
http://3dsurroundgaming.com
(If you like some of the stuff that I've done and want to donate something, you can do it with PayPal at tavyhome@gmail.com)