Commit 49b3cec1 authored by Andreas Mohr's avatar Andreas Mohr Committed by Alexandre Julliard

Reimplement patch by Marcus Meissner ('98) to "fix" problems with

DSCAPS_EMULDRIVER flag for games like Quake 2 and Unreal Tournament.
parent 4ff66083
......@@ -49,7 +49,10 @@ DEFAULT_DEBUG_CHANNEL(dsound);
/* these are eligible for tuning... they must be high on slow machines... */
/* especially since the WINMM overhead is pretty high, and could be improved quite a bit;
* the high DS_HEL_MARGIN reflects the currently high wineoss/HEL latency */
* the high DS_HEL_MARGIN reflects the currently high wineoss/HEL latency
* some settings here should probably get ported to wine.conf */
#define DS_EMULDRIVER 1 /* some games (Quake 2, UT) refuse to accept
emulated dsound devices. set to 0 ! */
#define DS_HEL_FRAGS 48 /* HEL only: number of waveOut fragments in primary buffer */
#define DS_HEL_QUEUE 28 /* HEL only: number of waveOut fragments to prebuffer */
/* (Starcraft videos won't work with higher than 32 x10ms) */
......@@ -3057,8 +3060,10 @@ HRESULT WINAPI DirectSoundCreate(REFGUID lpGUID,LPDIRECTSOUND *ppDS,IUnknown *pU
unsigned c;
/* FIXME: look at wcaps */
(*ippDS)->drvcaps.dwFlags = DSCAPS_EMULDRIVER |
(*ippDS)->drvcaps.dwFlags =
DSCAPS_PRIMARY16BIT | DSCAPS_PRIMARYSTEREO;
if (DS_EMULDRIVER)
(*ippDS)->drvcaps.dwFlags |= DSCAPS_EMULDRIVER;
/* Allocate memory for HEL buffer headers */
for (c=0; c<DS_HEL_FRAGS; c++) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment