Thief 1/2 & SShock 2: DDFix and Enhanced Resolution Patch - discussion - by bikerdude
Nameless Voice on 7/4/2008 at 17:47
Quote Posted by ZylonBane
On the bright side, if TDP can be made to work, it's almost certain that SS2 will then work as well. After all, as the Gamasutra SS2 postmortem says:
I wouldn't be so sure about that. The render in SS2 is closer to Thief 2 in terms of features. It only supports hardware, uses dithering (unlike Thief 1), features coloured lighting, etc. It seems quite possible that if the code in question is different in Thief 1, it will be different in SS2.
Hiatus on 7/4/2008 at 18:20
Timeslip, I just grabbed 1.3.9 final, and noticed that both ddfixG.7z and ddfixM.7z contain this (in addition to files in root of archive): src\Release\ddfix.dll. What's it for and have you included it intentionally (if yes, what is the purpose - previous versions didn't have it)? Readme doesn't seem to mention about this new addition.
I'll test 1.3.9 final later today ;)...
EDIT:
Q about new AnisotropicFiltering option in ddfix.ini. Are 0/1 the only valid values? What level of AF will be turned on if set to 1 - depends on card (in my case it supports AF 0x/2x/4x/8x/16x)? Which AF will be turned on in my case if I set AF=1 in .ini - 16x or lesser level?
Timeslip on 7/4/2008 at 18:41
Quote Posted by Hiatus
Timeslip, I just grabbed 1.3.9 final, and noticed that both ddfixG.7z and ddfixM.7z contain this (in addition to files in root of archive): src\Release\ddfix.dll. What's it for and have you included it intentionally (if yes, what is the purpose - previous versions didn't have it)? Readme doesn't seem to mention about this new addition.
I'll test 1.3.9 final later today ;)...
Not intentional; just a bug in the archiving software I use. If you tell it to include a file in an archive, it has an annoying habit of including all files with the same name in any subfolders. :confused:
Got rid of them now. Thanks for pointing them out. :thumb:
Hiatus on 7/4/2008 at 19:29
Quote Posted by Timeslip
Got rid of them now. Thanks for pointing them out.
no problem :)
ps see my Q about aniso option in edit of previous post..
Timeslip on 7/4/2008 at 19:37
Quote Posted by Hiatus
Q about new AnisotropicFiltering option in ddfix.ini. Are 0/1 the only valid values? What level of AF will be turned on if set to 1 - depends on card (in my case it supports AF 0x/2x/4x/8x/16x)? Which AF will be turned on in my case if I set AF=1 in .ini - 16x or lesser level?
0 and 1 are the only valid options. If you set it to 1, it just uses the highest value your card supports. Since this is a patch aimed mainly at DX9 and 10 cards, I'm not particulaly worried about performance. :p
Hiatus on 7/4/2008 at 20:27
thank you for the explanation - works like I suspected. I'll measure perf. hit on my X1950 later (if any)...
btw what (filtering) T2 uses by default: bilinear + sth I forgot how it's called in DX (sth like GL_LINEAR_MIPMAP_NEAREST in Quake/OpenGL)? Would it be possible to force trilinear via ddfix (equivalent of GL_LINEAR_MIPMAP_LINEAR in GLQuake)? (Yes I know aniso is better - just asking).
re vista:
Quote Posted by Timeslip
Secondly, hardware blt seems to be broken, making the menu screens look horribly pixelated.
is it possible/have you tried to workaround it somehow? Also, have you determined whose fault this bug is (vista itself/nvidia vista drivers etc?)
ps also agree that UAC is a joke (was testing vista last year and don't come near since then), was going to give it a retry after sp1 was released but since it doesn't seem to be a game-changing affair, I won't bother :p. And Windows 7 is slated for next year (?) - wonder what they'll break this time (is it going to have DX11?)
Timeslip on 7/4/2008 at 20:33
Quote Posted by Hiatus
is it possible/have you tried to workaround it somehow? Also, have you determined whose fault this bug is (vista itself/nvidia vista drivers etc?)
No idea. If an Ati user gets the same problem, then it's probably safe to blame on vista, otherwise it's nvidia again.
Only workaround I could do would be doing the software blt myself with some better scaling. That would be slow though.
Edit: I'm not particulaly concerned about it anyway. It's still playable, it just looks a bit ugly. (You can change the UseSysMemOverlay option to 1 to see what it looks like on xp.)
bikerdude on 7/4/2008 at 22:28
Timeslip
I`ve updated the beginning of this thread, I pinched the text from your page (hope you dont mind)
keep up the amazing work btw
biker
nb. Ive tried both 1280*960 and 1440*1050 and both cause T2 to crash due to unsupported resolution error within thief.
Hiatus on 7/4/2008 at 23:32
just tested quickly and can confirm Biker's findings - custom res support is broken in 1.3.9 final (was fine in 1.3.5 AFAIR - didn't test anything in between so don't know in which ver it got broken).
anyway, after setting Thief2Extensions=1 in .ini and setting res 1280x960 I get "requested mode could not be set" (or sth similar), land in low res software mode (after loading a level) and game crashes after a few secs :(.
quick EDIT:
it is ok in 1.3.8 final.
EDIT2:
a bit strange: if I set my CRT desktop to 1280x960x32x85Hz before starting the game (talking about 1.3.8) in 1280x960, game sets refresh rate to 85Hz - but if I have desktop set to 1024x768x32x85Hz before starting the game in 1280x960, I have only 75Hz refresh rate in game. Why it could be so? (If I set my desktop res in Windows to 1280x960, RR gets set to 85Hz, not to 75Hz). Can't remember the behaviour in 1.3.5 beta in this regard, and don't have it any more, so I can't check it there :(.
EDIT3:
standard T2 res, 1280x1024 behaves the same as 1280x960, when starting the game from 1024x768x85 desktop - RR inside game is 75Hz, not 85 as it should be :(...
I'm not 100% sure but I think there wasn't such a problem with RR in 1.3.5 beta.
EDIT4:
here comes a feature request: would it be possible to set/force specific RR's in Thief via ddfix (of course if supported by hardware? Or even better, frame rate limiter (with or without RR forcing) - i.e. @RR=85Hz, to limit frame rate to 60fps etc (that would solve the problem of moving to fast in game, while not having to destroy eyes by setting RR on CRTs to sth like 60Hz).
Timeslip on 8/4/2008 at 06:36
Quote Posted by Bikerdude
I`ve updated the beginning of this thread, I pinched the text from your page (hope you dont mind)
Of course not. :)
I'm pretty sure I didn't include a large font 'behold ddfix' anywhere on my page though, unless I added it in while I was sleeping or something. :weird:
Quote Posted by Hiatus
btw what (filtering) T2 uses by default: bilinear + sth I forgot how it's called in DX (sth like GL_LINEAR_MIPMAP_NEAREST in Quake/OpenGL)? Would it be possible to force trilinear via ddfix (equivalent of GL_LINEAR_MIPMAP_LINEAR in GLQuake)? (Yes I know aniso is better - just asking).
There's no mipmap filtering at all because of the way thief handles them. (Equivilent of D3DTFP_POINT.) Textures loaded by ddfix use D3DTFP_LINEAR.
For magnification and minification filtering, thief uses linear by default on all texture stages. (Shadows with point filtering are fun. Thief does a remarkable job at not letting anyone realise how low resolution those shadow maps are...) There's no trilinear filtering. You just get point, linear, or anisotropic. (Cubic/gausian cubic are actually valid settings for the magnification filter, but I suspect they just get blocked in the driver somewhere, because they look pixel for pixel identical to linear.) I suppose linear filtering on the mag, min and mip filters counts as trilinear?
Quote Posted by Hiatus
here comes a feature request: would it be possible to set/force specific RR's in Thief via ddfix (of course if supported by hardware? Or even better, frame rate limiter (with or without RR forcing) - i.e. @RR=85Hz, to limit frame rate to 60fps etc (that would solve the problem of moving to fast in game, while not having to destroy eyes by setting RR on CRTs to sth like 60Hz).
Custom refresh rate is easy. Will add for the next version. A frame rate limiter indepentent of refresh rate is a bit difficult because in menu modes thief doesn't actually use frames. (That was the problem that caused stuttering in movies in 1.1, and causes the way-too-fast spinning arrows in the shop in 1.2/1.3)