diff --git a/debian/changelog b/debian/changelog index 8558952e..93f3e19f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,8 @@ wine-staging (1.7.53) UNRELEASED; urgency=low * Added patch to implement support for msiexec /passive command line option. * Added patch to implement stub for DSPROPSETID_EAX20_ListenerProperties. * Added patch to show windows version when collecting system info in winedbg. + * Added patch to implement DSPROPSETID_EAX20_ListenerProperties stub. + * Added patch to implement DSPROPSETID_EAX20_BufferProperties stub. * Removed patch to mark RegOpenKeyExA, RegCloseKey and RegQueryValueExA as hotpatchable (accepted upstream). * Removed patch to mark BitBlt and StretchDIBits as hotpatchable (accepted diff --git a/patches/dsound-EAX/0020-dsound-Add-stub-support-for-DSPROPSETID_EAX20_Listen.patch b/patches/dsound-EAX/0020-dsound-Add-stub-support-for-DSPROPSETID_EAX20_Listen.patch index 839e2f3d..b72235f0 100644 --- a/patches/dsound-EAX/0020-dsound-Add-stub-support-for-DSPROPSETID_EAX20_Listen.patch +++ b/patches/dsound-EAX/0020-dsound-Add-stub-support-for-DSPROPSETID_EAX20_Listen.patch @@ -16,7 +16,7 @@ index a555a75..21450e8 100644 DEFINE_GUID(DSPROPSETID_EAX_ReverbProperties, 0x4a4e6fc1, 0xc341, 0x11d1, 0xb7, 0x3a, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00); DEFINE_GUID(DSPROPSETID_EAXBUFFER_ReverbProperties, 0x4a4e6fc0, 0xc341, 0x11d1, 0xb7, 0x3a, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00); -+DEFINE_GUID(DSPROPSETID_EAX20_ListenerProperties, 0x306a6a8, 0xb224, 0x11d2, 0x99, 0xe5, 0x0, 0x0, 0xe8, 0xd8, 0xc7, 0x22); ++DEFINE_GUID(DSPROPSETID_EAX20_ListenerProperties, 0x306a6a8, 0xb224, 0x11d2, 0x99, 0xe5, 0x0, 0x0, 0xe8, 0xd8, 0xc7, 0x22); typedef enum { DSPROPERTY_EAX_ALL, diff --git a/patches/dsound-EAX/0021-dsound-Add-stub-support-for-DSPROPSETID_EAX20_Buffer.patch b/patches/dsound-EAX/0021-dsound-Add-stub-support-for-DSPROPSETID_EAX20_Buffer.patch new file mode 100644 index 00000000..0ff5c2b5 --- /dev/null +++ b/patches/dsound-EAX/0021-dsound-Add-stub-support-for-DSPROPSETID_EAX20_Buffer.patch @@ -0,0 +1,97 @@ +From 6147f0b2fe272cdce45785de1efcd323084d5ac7 Mon Sep 17 00:00:00 2001 +From: "Erich E. Hoover" +Date: Wed, 7 Oct 2015 19:31:53 -0600 +Subject: dsound: Add stub support for DSPROPSETID_EAX20_BufferProperties. + +--- + dlls/dsound/dsound_eax.h | 20 ++++++++++++++++++++ + dlls/dsound/eax.c | 16 ++++++++++++++++ + 2 files changed, 36 insertions(+) + +diff --git a/dlls/dsound/dsound_eax.h b/dlls/dsound/dsound_eax.h +index fe85179..09563a0 100644 +--- a/dlls/dsound/dsound_eax.h ++++ b/dlls/dsound/dsound_eax.h +@@ -29,6 +29,7 @@ extern "C" { + DEFINE_GUID(DSPROPSETID_EAX_ReverbProperties, 0x4a4e6fc1, 0xc341, 0x11d1, 0xb7, 0x3a, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00); + DEFINE_GUID(DSPROPSETID_EAXBUFFER_ReverbProperties, 0x4a4e6fc0, 0xc341, 0x11d1, 0xb7, 0x3a, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00); + DEFINE_GUID(DSPROPSETID_EAX20_ListenerProperties, 0x306a6a8, 0xb224, 0x11d2, 0x99, 0xe5, 0x0, 0x0, 0xe8, 0xd8, 0xc7, 0x22); ++DEFINE_GUID(DSPROPSETID_EAX20_BufferProperties, 0x306a6a7, 0xb224, 0x11d2, 0x99, 0xe5, 0x0, 0x0, 0xe8, 0xd8, 0xc7, 0x22); + + typedef enum { + DSPROPERTY_EAX_ALL, +@@ -104,6 +105,25 @@ typedef enum + DSPROPERTY_EAX20LISTENER_FLAGS + } DSPROPERTY_EAX20_LISTENERPROPERTY; + ++typedef enum ++{ ++ DSPROPERTY_EAX20BUFFER_NONE, ++ DSPROPERTY_EAX20BUFFER_ALLPARAMETERS, ++ DSPROPERTY_EAX20BUFFER_DIRECT, ++ DSPROPERTY_EAX20BUFFER_DIRECTHF, ++ DSPROPERTY_EAX20BUFFER_ROOM, ++ DSPROPERTY_EAX20BUFFER_ROOMHF, ++ DSPROPERTY_EAX20BUFFER_ROOMROLLOFFFACTOR, ++ DSPROPERTY_EAX20BUFFER_OBSTRUCTION, ++ DSPROPERTY_EAX20BUFFER_OBSTRUCTIONLFRATIO, ++ DSPROPERTY_EAX20BUFFER_OCCLUSION, ++ DSPROPERTY_EAX20BUFFER_OCCLUSIONLFRATIO, ++ DSPROPERTY_EAX20BUFFER_OCCLUSIONROOMRATIO, ++ DSPROPERTY_EAX20BUFFER_OUTSIDEVOLUMEHF, ++ DSPROPERTY_EAX20BUFFER_AIRABSORPTIONFACTOR, ++ DSPROPERTY_EAX20BUFFER_FLAGS ++} DSPROPERTY_EAX20_BUFFERPROPERTY; ++ + #define EAX_REVERBMIX_USEDISTANCE -1.0f + + #define AL_EAXREVERB_MAX_REFLECTIONS_DELAY (0.3f) +diff --git a/dlls/dsound/eax.c b/dlls/dsound/eax.c +index 297d444..12c290a 100644 +--- a/dlls/dsound/eax.c ++++ b/dlls/dsound/eax.c +@@ -831,8 +831,14 @@ BOOL WINAPI EAX_QuerySupport(REFGUID guidPropSet, ULONG dwPropID, ULONG *pTypeSu + *pTypeSupport = KSPROPERTY_SUPPORT_GET | KSPROPERTY_SUPPORT_SET; + return TRUE; + } ++ } else if (IsEqualGUID(&DSPROPSETID_EAX20_BufferProperties, guidPropSet)) { ++ if (dwPropID <= DSPROPERTY_EAX20BUFFER_FLAGS) { ++ *pTypeSupport = KSPROPERTY_SUPPORT_GET | KSPROPERTY_SUPPORT_SET; ++ return TRUE; ++ } + } + ++ FIXME("(%s,%d,%p)\n", debugstr_guid(guidPropSet), dwPropID, pTypeSupport); + return FALSE; + } + +@@ -941,8 +947,13 @@ HRESULT WINAPI EAX_Get(IDirectSoundBufferImpl *buf, REFGUID guidPropSet, + } else if (IsEqualGUID(&DSPROPSETID_EAX20_ListenerProperties, guidPropSet)) { + FIXME("Unsupported DSPROPSETID_EAX20_ListenerProperties: %d\n", dwPropID); + return E_PROP_ID_UNSUPPORTED; ++ } else if (IsEqualGUID(&DSPROPSETID_EAX20_BufferProperties, guidPropSet)) { ++ FIXME("Unsupported DSPROPSETID_EAX20_BufferProperties: %d\n", dwPropID); ++ return E_PROP_ID_UNSUPPORTED; + } + ++ FIXME("(buf=%p,guidPropSet=%s,dwPropID=%d,pInstanceData=%p,cbInstanceData=%d,pPropData=%p,cbPropData=%d,pcbReturned=%p)\n", ++ buf, debugstr_guid(guidPropSet), dwPropID, pInstanceData, cbInstanceData, pPropData, cbPropData, pcbReturned); + return E_PROP_ID_UNSUPPORTED; + } + +@@ -1073,7 +1084,12 @@ HRESULT WINAPI EAX_Set(IDirectSoundBufferImpl *buf, REFGUID guidPropSet, + } else if (IsEqualGUID(&DSPROPSETID_EAX20_ListenerProperties, guidPropSet)) { + FIXME("Unsupported DSPROPSETID_EAX20_ListenerProperties: %d\n", dwPropID); + return E_PROP_ID_UNSUPPORTED; ++ } else if (IsEqualGUID(&DSPROPSETID_EAX20_BufferProperties, guidPropSet)) { ++ FIXME("Unsupported DSPROPSETID_EAX20_BufferProperties: %d\n", dwPropID); ++ return E_PROP_ID_UNSUPPORTED; + } + ++ FIXME("(%p,%s,%d,%p,%d,%p,%d)\n", ++ buf, debugstr_guid(guidPropSet), dwPropID, pInstanceData, cbInstanceData, pPropData, cbPropData); + return E_PROP_ID_UNSUPPORTED; + } +-- +2.6.0 + diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index d48cda6d..59acb331 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -2912,6 +2912,7 @@ if test "$enable_dsound_EAX" -eq 1; then patch_apply dsound-EAX/0018-dsound-Various-improvements-to-EAX-support.patch patch_apply dsound-EAX/0019-dsound-Allow-disabling-of-EAX-support-in-the-registr.patch patch_apply dsound-EAX/0020-dsound-Add-stub-support-for-DSPROPSETID_EAX20_Listen.patch + patch_apply dsound-EAX/0021-dsound-Add-stub-support-for-DSPROPSETID_EAX20_Buffer.patch ( echo '+ { "Sebastian Lackner", "dsound: Apply filters before sound is multiplied to speakers.", 1 },'; echo '+ { "Mark Harmstone", "dsound: Add EAX v1 constants and structs.", 1 },'; @@ -2933,6 +2934,7 @@ if test "$enable_dsound_EAX" -eq 1; then echo '+ { "Sebastian Lackner", "dsound: Various improvements to EAX support.", 1 },'; echo '+ { "Sebastian Lackner", "dsound: Allow disabling of EAX support in the registry.", 1 },'; echo '+ { "Erich E. Hoover", "dsound: Add stub support for DSPROPSETID_EAX20_ListenerProperties.", 1 },'; + echo '+ { "Erich E. Hoover", "dsound: Add stub support for DSPROPSETID_EAX20_BufferProperties.", 1 },'; ) >> "$patchlist" fi