Try this patch. DirectSoundCreate should be called with the GUID of the device or NULL for the default device, not the GUID of the COM object interface.
Raphael wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi Robert,
I have tried Unreal2 and now we have an regression into dsound code. Unreal2 Create an dsound device since introduction beginning and after (the introduction) the games wants to initialize dmusic (what i'm trying to fix since a lot of time) but now it crash because dmusic init failed (i have removed the not usefulls dsound traces as sounds seems played by another thread):
Index: dlls/dmime/performance.c =================================================================== RCS file: /home/wine/wine/dlls/dmime/performance.c,v retrieving revision 1.7 diff -u -r1.7 performance.c --- dlls/dmime/performance.c 7 Mar 2004 03:14:49 -0000 1.7 +++ dlls/dmime/performance.c 3 May 2004 00:56:49 -0000 @@ -66,7 +66,7 @@ This->pDirectSound = (IDirectSound*) pDirectSound; IDirectSound_AddRef((LPDIRECTSOUND) This->pDirectSound); } else { - DirectSoundCreate8(&IID_IDirectSound8, (LPDIRECTSOUND8*) &This->pDirectSound, NULL); + DirectSoundCreate8(NULL, (LPDIRECTSOUND8*) &This->pDirectSound, NULL); /** * as seen in msdn * @@ -423,7 +423,7 @@ if (NULL != ppDirectSound && NULL != *ppDirectSound) { dsound = *ppDirectSound; } else { - DirectSoundCreate8 (&IID_IDirectSound8, (LPDIRECTSOUND8*) &dsound, NULL); + DirectSoundCreate8 (NULL, (LPDIRECTSOUND8*) &dsound, NULL); if (!dsound) return DSERR_NODRIVER; if (ppDirectSound)