Reply 2600 of 3949, by Dege
wrote:Hi Dege, […]
Hi Dege,
just to know, are you planning INDEO support for next versions? I know this is not a very top priority since I am sure you are focusing on other more important topics, but knowing if you are going to add can help me.
Many thanks for all your help and for DGVoodoo in general (I am a big retrogamer...)
Lone Killer
Yes, I'm planning. I hope I won't run into any unresolvable problem with that.
wrote:wrote:Digital Foundry recommending dgVoodoo for MDK 😀
Also says to use dgVoodoo2 because it emulates a Voodoo card for Direct3D, which I don't think is correct? Got to stop with the misleading names, Dege 😜
I don't know what would be more misleading: renaming the wrapper to someting else or keep dgVoodoo. 😁
(I too noticed, that some people still think that it all is fully tied to 3Dfx technology somehow. I mean, the DX part.)
wrote:Tried Battlefield 1942 and the game is crashing if the map has too many high resolution textures loaded (1024x1024). Well, i'm not 100% sure about what causing it, but some maps with less hi-res textures are working fine and if i mod them with new textures (2048x2048 or higher) the game is crashing already at loading the level. Without dgVoodoo it's fine.
Did increasing the amount of VRAM (as Expack recommended) solve the problem?
I haven't yet tested this game.
wrote:Tested latest version of the dgVoodoo with my NFS3 Modern Patch. dx6 renderer + dgvoodo's ddraw.dll has some problems. […]
Tested latest version of the dgVoodoo with my NFS3 Modern Patch. dx6 renderer + dgvoodo's ddraw.dll has some problems.
Download: http://veg.by/files/nfs3/nfs3_modern_patch_dgbeta.7z
Problem 1. Run the game, try to minimize it using the Win key. For some reason it can't minimize, but it seems that the window loses focus. Sometimes you will see even system cursor.
Problem 2. Open nfs3.ini, change WindowedMode to 1. Run the game, start gameplay. You'll see some deadlock.dx8 + d3d8.dll also still has the problem that I had reported earlier. But as you said, it is very hard to debug, so I'm not expecting that this will be solved.
I have a question for you, because you know programming using 3D API's well. NFS3 and NFS4 have the problem with Texel Alignment when D3D is used.
DX5/DX6/DX7/DX8:
Glide2x/Glide3x (dgVoodoo or nGlide):
On the first screenshot fonts are blurry. On the second one they are sharp. It seems that the game was developed for the texel alignment of the Glide API, but D3D uses other texel alignment, as the result we have such blurry image. I would like to fix it, but I'm not sure what exactly I have to change 😀
I'm going to fix it inside the thrash drivers. As I understand, it is needed to substract 0.5 from some values of every vertex. Thrash API uses this struct for vertices:
/* matches DirectX7's D3DTLVERTEX */
struct Vertex {
/* Vertex coordinates */
float x, y, z;
/* Reciprocal of homogeneous */
float rhw;
/* Vertex colour */
uint32_t color;
/* Specular colour */
uint32_t specular;
/* Texture coordinates */
float u, v;
};
MSDN recommends to use such code:
//adjust all the vertices to correctly line up texels with pixels
for (int i=0; i<6; i++)
{
vertices[i].x -= 0.5f;
vertices[i].y -= 0.5f;
}
But I'm not sure if it is exactly what I need. Maybe I have to fix texture coordinates, u and v (-0.5/texture_width and -0.5/texture_height, but I'm not sure how to get size of the current texture here).
I'm planning to add a code that will do such fix for every vertex that Thrash Driver accepts from the game. Is it a right way? Or maybe there are some pitfalls?
Sorry if this question is stupid. I'm still an absolute newbie in such things.
So, the old problems are still present...
I hoped it would get fixed somehow like with Commandos 3 did. 😁 😁 😁
Yes, if I remember correctly, Glide has pixel center at .5 positions, while DX<=9 has it at .0 (integer).
So, if Trash driver accepts TL vertices then applying and offset on x and y with +0.5 should do the trick.
Changing texture coordinates is the more complicated way because tex coords are normalized to texture size, so the offset depends on texture size. As for the result, it doesn't matter which one is changed (vertex or tex coord), the point is that they do be in correct matching. That is, center of the texels match the center of the pixels.
BTW, thanks for the new reports!!