diff --git a/dlls/ddraw/ddraw/main.c b/dlls/ddraw/ddraw/main.c index 36c57fab344..ae8fc164bfa 100644 --- a/dlls/ddraw/ddraw/main.c +++ b/dlls/ddraw/ddraw/main.c @@ -17,9 +17,30 @@ * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -/* + * + * NOTES + * + * 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. + * * This file contains all the interface functions that are shared between * all interfaces. Or better, it is a "common stub" library for the * IDirectDraw* objects diff --git a/documentation/status/directdraw b/documentation/status/directdraw deleted file mode 100644 index 02752b1d5c2..00000000000 --- a/documentation/status/directdraw +++ /dev/null @@ -1,65 +0,0 @@ -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).