Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
976483e2
Commit
976483e2
authored
Sep 27, 2003
by
Dimitrie O. Paun
Committed by
Alexandre Julliard
Sep 27, 2003
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Merge documentation/status/directdraw into the ddraw code.
parent
b99ab2dd
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
24 additions
and
68 deletions
+24
-68
main.c
dlls/ddraw/ddraw/main.c
+24
-3
directdraw
documentation/status/directdraw
+0
-65
No files found.
dlls/ddraw/ddraw/main.c
View file @
976483e2
...
@@ -17,9 +17,30 @@
...
@@ -17,9 +17,30 @@
* You should have received a copy of the GNU Lesser General Public
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
* 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
* This file contains all the interface functions that are shared between
* all interfaces. Or better, it is a "common stub" library for the
* all interfaces. Or better, it is a "common stub" library for the
* IDirectDraw* objects
* IDirectDraw* objects
...
...
documentation/status/directdraw
deleted
100644 → 0
View file @
b99ab2dd
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).
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment