This file contains information on the current implementation of the DirectDraw API. Information specific to Direct3D is in the direct3D file. The DirectDraw API is being used in a lot of current computergames. Its API layer is represented by the functions in the Win32 DLL ddraw.dll and the IDirectDraw* interfaces (that can be created using the API functions). WINE currently implements a very basic set of the DirectDraw functionality in graphics/ddraw.c. This implementation uses either the XFree86-DGA extension to get very fast access to the graphics card framebuffer and doublebuffering features or Xlib, which is slower. The implementation using XFree86-DGA is as fast as the MS equivalent for the stuff that is implemented. Several applications already work, see below. Problems of the implementation using XFree86-DGA: - XFree86 cannot switch depth on the fly. This is a problem with X and unavoidable. Current solution is to pop up a MessageBox with an error for mismatched parameters and advice the user to restart the X server with the specified depth. - The rest of the functionality that has to be implemented will have to be done in software and will be very slow. - This requires WINE to be run as root user so XF86DGA can mmap the framebuffer into the addressspace of the process. - Blocks all other X windowed applications. Status: - Diablo [640x480x8]: No longer works. Unclear why. [WINE-990131, Marcus Meissner] - WingCommander 4 / Win95 Patch [640x480x8]: The intromovie plays, in 8 bit mode (to reconfigure wc4, run wine "wc4w.exe -I"). The 16bit mode looks broken on Mystique, but I think this is due to the unusual colorweight (565 rgb) of the Mystique in 16bit mode. [Specifying it in DDPIXELFORMAT didn't help.] Keyboard input does not work. This seems to be a problem with the cooperative window and USER input handling in general. -> Unable to test Gameplay. The display is slower as before. Reason is unknown, but I suspect the communication between winserver,dsoundmixerthread,mainthread takes up too much time. [WINE-990131, Marcus Meissner] - Monkey Island 3 [640x480x8]: WINE-CVS-981116: Works, using DGA and Xlib. (Mousecontrol is a bit off in windowed mode.) - DiscWorld 2 [640x480x8]: Plays through nearly all intro movies. Sound and animation skip a lot of stuff (possible DirectSound asynchronization problem). - Tomb Raider 2 Demo (using 8 bit renderer) [640x480x8]: I have played nearly all of the DEMO level using Keyboard Controls. Sound is a bit weird. Keyboard/Mouse handling too due to incomplete DirectInput. - WingCommander Prophecy Demo (using software renderer) [640x480x16]: Plays trailer, hangs in selection screen (no keyboard input, DirectInput problem).