thats the point. i dont know how wine handles the ddraw-over-opengl scenario. i just had very blury graphics in JA2. nothing to wonder about as i assume at least one quad is drawn with the image as texture. so the filtering kicks in and voila we have bad image quality.
No, I think opengl ddraw rendering is still pretty buggy. I wrote the code to do it mainly for Direct3D7 games which blit their HUD onto the screen using DirectDraw blitting calls. I tested it with Prince of Persia 3D, Swat 3 and Battlezone 2. I have some fixes in my patch list I'm going to send in the next days to fix some readback bugs. (Half-Life 2 uses the blitting code to make screenshots and savegame images). Furthermore partial render target locking is completely broken in git, I have fixes for that too.
assuming that my "render a quad" theory is right it would work to place a key in the registry, where i would tell the ogl-ddraw-renderer to use my res instead of the one the apps wants.
OpenGL DirectDraw rendering renders by setting up the projection matrix to have 0/0 at the top left of the screen and with/height at the bottom right. Then it calculates the source coordinates with Xsrc / Source->pow2Width and Ysrc / Source->pow2Height and draws a quad.
So yes, in theory we could scale things up by just setting a higher resolution. One could get nicer graphics with linear / bilinear / anisotropic texture filtering, but there are some issues:
* Color keying: Filtering will change the color values slightly, so mess up color keying * Mouse input: We'd have to do the same for received mouse events * readback: If the application locks the render target or reads it back into an offscreen texture, you have to undo filtering and scaling
It will be easier to just use multisampling on the final rendering. The nvidia driver has such an option to force multisampling. But that is I think simmilar to what your tft does. Of course for properly changed resolutions you have to run in fullscreen, not virtual desktop.
It would be a pretty messy thing to force a foreign resolution onto a game. You can try to do that of course, but I don't think such a patch would be accepted into wine.