Announcing another ddraw/d3d7 patch
stefandoesinger at gmx.at
Fri May 26 06:15:26 CDT 2006
Merging the code into WineD3D is done now, so the last thing is to merge the
new ddraw code. I have uploaded a new diff to
http://stud4.tuwien.ac.at/~e0526822/, with some updated screenshots. The diff
is against wine git from May, 26th, 12 am(yep, the site has an older date).
It should apply to much older versions too, but it won't work because a few
crucial patches were applied in the last 2 days. 2 games are missing in my
game list, Anarchy Online and Worms 2 are also known to work.
Ok, what to do now? The patch fixes quite a few games, but with all bigger
changes there are problems. I know some games which worked before that are
broken now(Tibia, Z-Ball, Battlezone 2 and Swat 3). Battlezone 2 and Swat 3
have fogging issues, I have to talk to Lionel Ulmer about that, and BZ2 also
needs tripple buffering. Tibia does some Blt Voodoo which doesn't work in
OpenGL yet, z-ball is similar. It's likely that there are other breakages
too. Another issue is that wined3d still has a hard dependency on OpenGL, and
that means that my DirectDraw lib cannot do 2D rendering without libGL.so. It
doesn't need hardware acceleration, only the lib has to be available. Roderic
is working on that.
So what can we do?
* Wait with the merge until WineD3D does lazy linking to libGL
* Wait with the merge until all games that worked before work now(gonna take
* Merge it now and fix the regressions as they occur. This would have the
advantage that the code is in and it will only improve from that point, and
it's easier for users to test. The drawback is that some users might complain
that their games are broken :-|. On the other had, lots of others are waiting
for this to get their games working.
What is missing except of fixing regressions? Mostly performance improvements:
1) Make all ddraw games working with the OpenGL renderer
2) More intelligent texture upload: I have some hacks in that in my tree(Swat
3!, Half-Life 2 maybe?)
3) The same for render targets(System shock 2, swat 3, Prince of persia 3D)
4) Try to write an OpenGL gdi driver which handles TextOut and friends
directly in OpenGL(Age of Empires, Settlers 3 combined with 1)
5) Rendering fixes: Fog and color keying(Pop3D, Battlezone 2, Swat 3)
6) Better OpenGL state management, this the lack of that takes performance
7) Multi-threaded D3D(Need for speed 3, Empire Earth, many others)
All this will happen in wined3d, and the improvements aren't limited to D3D7
games. They don't have to be done in that order.
If you're on wine-users, please CC me, I'm not yet subscribed there.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 189 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-devel/attachments/20060526/9489842f/attachment.pgp
More information about the wine-devel