Tuesday, November 1, 2016
Tales from the Borderlands
What this mod does:
- Fixes various haloing & screen depth effects (smoke, explosions, ..etc)
- Removes some shadows
- Fixes various HUD & UI elements that had too much depth. Press the 'Z' key to toggle the HUD & UI to screen depth.
- Adds two convergence presets on the 'Caps Lock' key.
- Adds a special convergence preset on the 'Tab' key. Use this for cardboard cutscenes at the beginning of each episode. Also use this for split-screen cutscenes in episodes 4 & 5
Known Issue:
- Some occasional flickering textures
Installation:
- Download this ZIP file and extract the contents into the game directory.
Subscribe to:
Post Comments (Atom)
Just finished the first episode with this patch (second playthrough), it is really fantastic in 3D. Thanks so much!
ReplyDeleteThanks, but 3D does not seem to work (at least not in fullscreen). This is probably because the game starts by default in 1024*768 (before going to 720p, as I set it in the menu), which is not a supported resolution for NVIDIA 3DTV Play.
ReplyDeleteAny idea how to fix this? Isn't there an *.ini file or something in which I can force another default startup res? Looking forward to play this gem in perfect Helixmod 3D!
(Btw, had the same problem in The Walking Dead S02, which made me buy additional software, Tridef)
Hi. I'm not sure I understand your question. Are you saying that the game starts in 1024x768 and you can't change the resolution to 720p? I'm currently using 3DTV Play and when the game starts in 1024x768, I'm able to change the resolution in the options menu to 720p. Once the resolution is on 720p, 3D enables fine for me.
DeleteHi, thanks for the quick reply! I am able to change the resolution to 720p. And I don't have to change the res every time either; it's just that the game always starts in 1024*768 (for a couple of seconds), before changing automatically to 720p.
ReplyDeleteIt's just a theory, but I assume the NVIDIA 3D software only 'analyses' the startup resolution, and 'concludes' that the res is not supported. I'm confident about this theory, because when i set the desktop resolution in 720p, and start the game in windowed mode, 3D is working (most of the time, and not perfectly). Strange, however, is that when using the shortcut to change the window into fullscreen, 3D is disabled again. But I still think it could help to change the default startupres; if I just knew how..
Nvidia: “Please check with the game developers if there is any setting which can be changed so that the game would start in the supported resolution.”
ReplyDeleteTelltale: “Unfortunately we do not have a viable wokaround to this currently. I will pass your feedback to the team however.”
I guess nothing is going to happen :/
Hi 4everAwake,
ReplyDeleteWould you maybe help me understand something about the shaders you fix. I would like to try and make your formulas work with dx11 through dxvoodoo. The game launch fine with dgvoodoo and I am able to hunt the shaders. But I don't know what...
def c247, 0.25, 0, 0.0625, 0
dcl_2d s3
and especially
texldl r24, c247.z, s3
...would look like in 3DMigoto dx11 ASM or HLSL.
If you could guide me a bit I could try to redo your fixes from dx9 to dx11. There are many dx9 games that I still couldn't get to work with dx9 HelixVision because of mouse pointer issues. Jumping between dx9 and dx11 or ASM and HLSL gets a bit confusing and there are very few examples.
Will greatly appreciate some help!
Hi KoelMeester. For the line "def c247, 0.25, 0, 0.0625, 0":
DeleteThis is just a way to load numbers to be used later (for various reasons). This line is only needed for DX9 shaders. "c247" is a random constant buffer number. It can be between 0 and 254. The next set of numbers represents x, y, z and w. So "c247.z" is set to "0.0625", and so on.
For the line "dcl_2d s3":
DX9 is limited to only 4 stereo buffers (s0 through s3). Nvidia uses s3 as it's stereo buffer as its typically the least used one.
For the line "texldl r24, c247.z, s3":
This is what is required by Nvidia to put the Separation in r24.x and the Convergence in r24.y. "r24" is a random number. "c247.z" is set to "0.0625" (this is a specific number that is required by Nvidia and needed for only DX9) and "s3" is the Nvidia stereo buffer.
The Separation and Convergence can then used in the stereo formula to stereoize the shader:
(Depth - Convergence) * Separation
For DX11 ASM, the it will look like this:
dcl_resource_buffer (float,float,float,float) t125 //------declare Nvidia stereo buffer
dcl_temps 25 //------NOTE: In DX11, a temporary register must be declared before use. the original number was less, but I changed it to 25 so that "r24" can be used
ld_indexable(buffer)(float,float,float,float) r24.xyzw, l(0, 0, 0, 0), t125.xyzw //------NOTE: separation and convergence are loaded onto r24.x and r24.y
For DX11 HLSL, it will look like this:
Texture2D StereoParams : register(t125); //------declare Nvidia stereo buffer
float4 r24 = StereoParams.Load(0); //------ declare "r24" and load separation and convergence onto r24.x and r24.y
Hope all this helps. If you have any more questions, let me know and I'll try my best to answer.
Thank you very much for this golden information! I am super excited to get something to work. Hopefully your old ASM formulas will also work in new shader model with dx11.
DeleteUsing 3DMigoto would unlock many extra possibilities! It should also in theory work with Geo11 which would unlock your games to anyone with a 3D display other than 3DVision. We are fortunate that Geo11 works with DGVoodoo. Have not done a lot of testing so far but found almost everything working with 3DMigoto.
It seems like it will not be as simple as I thought. The pixel shader for the shadows looks completely different here. But the biggest problem appears to be the UI. With disabled shadows it appears to be playable. It is only moving objects that have shadows so there are still many passive shadows that are correct.
DeleteThe usual formula that I found working for Halos in other games does not appear to work here. This is the code I have added to see if it gets rid of it but it might require something else:
ld_indexable(texture2d)(float,float,float,float) r12.xyzw, l(0, 0, 0, 0), t125.xyzw
ne r12.w, r10.w, l(1.0)
if_nz r12.w
add r12.w, r10.w, -r12.y
mad r10.x, r12.w, r12.x, r10.x
endif
HLSL has de-compile errors so it will have to be fixed in ASM.
I am really excited that it finally has 3DMigoto and VR support. So Auto-convergence is also on the table now.
If you have any suggestions or would like to take a look at the level 4 shaders please let me know. Like I said the UI appears to be the biggest compromise right now. But still playable.
On a side note I would also like to thank you for your work on the WIP universal fix for Unity. I am getting good results with some odd games like Jagged Alliance Rage. Only a few minor issues but much better than vanilla. Quite enjoyable in VR.
Is the above code for a UI shader? I'll message you on Discord.
Delete