Any reason why the original Bioshock won't accept custom resolutions? And is there a workaround?
I forgot to update on Binary Domain btw, I'll try and log it tonight.
Make sure you are running Bioshock in DX9 if you want to downsample, the game also has DX10 do not forget.
Where did you get this idea? It doesn't.So the Updater exe automatically launches as Administrator
Where did you get this idea? It doesn't.
People were able to put GeDoSaTo somewhere permanent and run it so far, so I hope they could still do so in the future.Wasn't at a computer to test it. Am now.
So the updater exe just installs wherever it sits instead of putting it somewhere static (like %programfiles%)... that could get messy since most peoples' default behavior is to just click and run and they might clean out their Download folder (and GeDoSaTo with it) every so often.
That's very unlikely, it doesn't write anything to the registry. Probably you are getting that from GeDoSaToTool when it launches.Also get an unhandled exception from it being unable to write to the registry after it reports a successful installation.
I think people have different default behaviors when presented with an executable download. I know I expected it to ask for an installation location first. Perhaps it wouldn't be a bad idea to package the updater in a deployment tool - even just making it a self extracting ZIP archive would be enough to stamp out most potential user errors.People were able to put GeDoSaTo somewhere permanent and run it so far, so I hope they could still do so in the future.
I guess I could check if it's currently updating or installing, and if installing ask for a location.I think people have different default behaviors when presented with an executable download. I know I expected it to ask for an installation location first. Perhaps it wouldn't be a bad idea to package the updater in a deployment tool - even just making it a self extracting ZIP archive would be enough to stamp out most potential user errors.
Has anyone found the pshash fpr Darksiders 2? If not, I might give that a shot tonight.
#define USE_TONEMAP 1 //[0 or 1] Tonemap : Adjust gamma, exposure, saturation, bleach and defog. (may cause clipping)
// Tonemap settings
#define Gamma 1.000 //[0.000 to 2.000] Adjust midtones. 1.000 is neutral. This setting does exactly the same as the one in Lift Gamma Gain, only with less control.
#define Exposure 0.000 //[-1.000 to 1.000] Adjust exposure
#define Saturation 0.000 //[-1.000 to 1.000] Adjust saturation
#define Bleach 0.000 //[0.000 to 1.000] Brightens the shadows and fades the colors
#define Defog 0.000 //[0.000 to 1.000] How much of the color tint to remove
#define FogColor float3(2.55, 2.55, 2.55) //[0.00 to 2.55, 0.00 to 2.55, 0.00 to 2.55] What color to remove - default is blue
// -------------------------Tonemap--------------------------------------------
float4 TonemapPass(float4 colorInput)
{
float3 color = colorInput.rgb;
color = saturate(color - Defog * FogColor); // Defog
color *= pow(2.0f, Exposure); // Exposure
color = pow(color, Gamma); // Gamma -- roll into the first gamma correction in main.h ?
//#define BlueShift 0.00 //Blueshift
//float4 d = color * float4(1.05f, 0.97f, 1.27f, color.a);
//color = lerp(color, d, BlueShift);
float3 lumCoeff = float3(0.2126, 0.7152, 0.0722);
float lum = dot(lumCoeff, color.rgb);
float3 blend = lum.rrr; //dont use float3
float L = saturate( 10.0 * (lum - 0.45) );
float3 result1 = 2.0f * color.rgb * blend;
float3 result2 = 1.0f - 2.0f * (1.0f - blend) * (1.0f - color.rgb);
float3 newColor = lerp(result1, result2, L);
float A2 = Bleach * color.rgb; //why use a float for A2 here and then multiply by color.rgb (a float3)?
//float3 A2 = Bleach * color.rgb; //
float3 mixRGB = A2 * newColor;
color.rgb += ((1.0f - A2) * mixRGB);
//float3 middlegray = float(color.r + color.g + color.b) / 3;
float3 middlegray = dot(color,(1.0/3.0)); //1fps slower than the original on nvidia, 2 fps faster on AMD
float3 diffcolor = color - middlegray; //float 3 here
colorInput.rgb = (color + diffcolor * Saturation)/(1+(diffcolor*Saturation)); //saturation
return colorInput;
}
// -------------------- Main -----------------------------------------------
float4 postProcessing(VSOUT IN) : COLOR0
{
float2 tex = IN.UVCoord;
float4 c0 = tex2D(s0, tex);
#if (USE_BLOOM == 1)
c0 = BloomPass(c0, tex);
#endif
#if (USE_HDR == 1)
c0 = HDRPass(c0, tex);
#endif
#if (USE_LUMASHARPEN == 1)
c0 = LumaSharpenPass(c0, tex);
#endif
#if (USE_VIBRANCE == 1)
c0 = VibrancePass(c0);
#endif
#if (USE_TONEMAP == 1)
c0 = TonemapPass(c0, tex);
#endif
c0.w = 1.0;
return saturate(c0);
}
Ok, GeDoSaTo is now almost too easy to install and keep up to date. At least in my opinion.
http://blog.metaclassofnil.com/?p=587
Can anyone help me out with getting Tonemap added to the Post.fx file?
What does the log file say when it crashes? If it's a shader syntax error it will report it.
#if (USE_TONEMAP == 1)
c0 = TonemapPass(c0, tex);
#endif
#if (USE_TONEMAP == 1)
c0 = TonemapPass(c0);
#endif
Since when is it gone? Best guess would be the semi-recent z/stencil fixes.Edit: Unrelated, but while I was testing this I noticed that the weird lighting bug that happened in Tomb Raider Anniversary seems gone. I haven't tested it in a while so it was a pleasant surprise.
What does the log file say when it crashes? If it's a shader syntax error it will report it.
and that seems to work at least over here.
Edit: Unrelated, but while I was testing this I noticed that the weird lighting bug that happened in Tomb Raider Anniversary seems gone. I haven't tested it in a while so it was a pleasant surprise.
Tested couple version, it vanishes between 0.9 and 0.10.Since when is it gone? Best guess would be the semi-recent z/stencil fixes.
The dumping is pretty arbitrary really (that is, I could just as well choose different events to do a dump).Still having trouble with finding a hash for TRA though, managed to use D3DRS_ZFUNC, value: 4 renderstate instead to hide the hud, but somehow that breaks the post processing. It's also surprising to me that it only dumps 14 tga files, including pre/postplugin. That just seems so few when some games have 100+.
Has anyone found the pshash fpr Darksiders 2? If not, I might give that a shot tonight.
Using the next pixelshader after that one will kind of sort of work, but there's some funky stuff with post processing. Like, post processing only works when you use the hidehud key, that seemed a little weird.I'm not really sure about this but I believe the game applies some color correction/Filter on top of everything once the hud is drawn as the last free frame I get has not the same bright/saturated colors as the frame with hud drawn.
b47d97d6 - I did not check the Pixel Shader below that in the log as I assumed them to be hud related.... I might be wrong about this but I also cant check it any further at the moment.
Ah, alrighty then. I was just wondering if fewer dumps was expected. Suppose it's engine specific I guess, older games, fewer draws or something?The dumping is pretty arbitrary really (that is, I could just as well choose different events to do a dump).
I'll soon add injection targeting using vertex shader hashes, though that probably won't help for very many cases I'd guess (usually you would expect pixel shaders to be more unique than vertex shaders). I needed most of the functionality for something else anyway though, so it will come.
Wow... the updater already grabbed that for me. Damn. This is slickUsing the next pixelshader after that one will kind of sort of work, but there's some funky stuff with post processing. Like, post processing only works when you use the hidehud key, that seemed a little weird.
I got what appears to be perfect result with that hash, combined with the delay draw. I only ran around in the beginning of the game, so hopefully it works all the way through.
injectPSHash b47d97d6
injectDelayAfterDraw true
It also works as a timestop of sorts since it also hides the pause menu.
Wow... the updater already grabbed that for me. Damn. This is slick
Thanks!
^^ testing my fixed camera CE script. It has limited use.... but you can see my character alll the way down there in the distance.
GeDoSaTo is going to treat MGSV right hopefully![]()
No idea yet. But I will play this game, and as such I'll probably figure it out.There is a problem with Risen 3: Titan Lords. If I run Gedosato with the game this is the result, even if i don't downsample
![]()
any idea?
InjectRenderState is just a different way to identify a time during frame rendering, for the same purpose as injectPSHash.@Durante, have you ever gone into detail on how to use the InjectRenderState function?
I've found a PSHash for RE5 which disables the green tint and HUD (d770949e), as well as one which only disables the HUD(a309e0e8). My understanding is I might be able to use InjectRenderState to only disable the green tint and not the HUD. Is this true?
I know you have an example of it being used in Ys Origins, but not owning the game I can only really see the end RenderState you use, not how you got to find that.
Unless I'm just all the way wrong about all of this and you haven't implemented the way to disable at one PSHash but not a later one, to which I'll say oops, my bad, sorry!
No idea yet. But I will play this game, and as such I'll probably figure it out.
InjectRenderState is just a different way to identify a time during frame rendering, for the same purpose as injectPSHash.
Selectively disabling shaders would be an entirely different feature.
Been messing with killer is dead, couldn't get it to pick up any of the resolutions from GeDoSaTo but entering a custom one in KidEngine.ini caused GeDoSaTo to start downsampling anyway. Loving how smooth it is now.
Found it's applicable PSHash too. Takes the screenshot at the resolution i'm downsampling from though, would there be any reason for that? But of a surprise when I couldn't upload the screen and finding out it was 16.7mb
![]()
That's if they don't bother putting decent AA/AO (The AO in GZ is awful)...ohwait
Faulting application name: Steam.exe, version: 2.35.92.75, time stamp: 0x53ebd634
Faulting module name: GeDoSaTo.dll_unloaded, version: 0.0.0.0, time stamp: 0x53ed113d
Exception code: 0xc000041d
Fault offset: 0x0008ef7e
Faulting process ID: 0x10f4
Faulting application start time: 0x01cfb80571364b4c
Faulting application path: C:\Program Files (x86)\Steam\Steam.exe
Faulting module path: GeDoSaTo.dll
I've had one other person report this, but I wasn't able to reproduce it so far.
Fullscreen mode not supported
Create DirectX device Failed 10 times! please report this error code to get support: - 2005530516
Thanks for reporting this, it was an issue introduced with the new multi-resolution option and probably affected all DX9Ex games. It's fixed now.Some problems have popped up with the last few builds. While Rayman Origins still works perfectly I get a crash when I try to launch Rayman Legends.
This is done now.EDIT: Ah and Durante if I may add a feature request, would it be feasible to change GeDoSaTo so it only accepts key-commands if a injected application is active? I often chat when I game and while it's not a huge issue whenever I type some numbers on my numpad it obviously messes with my game settings when I restore the game afterwards.
Risen 3 fixed.
I'm honestly surprised that bug didn't break hundreds of games.
Just goes to show how much superfluous state setting most games have. Well done Risen 3!
All settings are only loaded once at startup. I'm thinking about adding a "reload settings" keybinding though, mostly because it would make trying shader hashes much easier.
Allow multiple downsampling resolutions to be available at the same time