Added patch to implement stub for DSPROPSETID_EAX20_ListenerProperties.

This commit is contained in:
Sebastian Lackner 2015-10-07 02:57:45 +02:00
parent 4adc56f74f
commit ee5271ee57
3 changed files with 91 additions and 0 deletions

1
debian/changelog vendored
View File

@ -1,5 +1,6 @@
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.
* Removed patch to mark RegOpenKeyExA, RegCloseKey and RegQueryValueExA as
hotpatchable (accepted upstream).
* Removed patch to mark BitBlt and StretchDIBits as hotpatchable (accepted

View File

@ -0,0 +1,88 @@
From f2c56d857f9e30ba7d15e31c67e20c0698b3df9f Mon Sep 17 00:00:00 2001
From: "Erich E. Hoover" <erich.e.hoover@wine-staging.com>
Date: Mon, 5 Oct 2015 21:56:15 -0600
Subject: dsound: Add stub support for DSPROPSETID_EAX20_ListenerProperties.
---
dlls/dsound/dsound_eax.h | 21 +++++++++++++++++++++
dlls/dsound/eax.c | 11 +++++++++++
2 files changed, 32 insertions(+)
diff --git a/dlls/dsound/dsound_eax.h b/dlls/dsound/dsound_eax.h
index a555a75..21450e8 100644
--- a/dlls/dsound/dsound_eax.h
+++ b/dlls/dsound/dsound_eax.h
@@ -28,6 +28,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);
typedef enum {
DSPROPERTY_EAX_ALL,
@@ -83,6 +84,26 @@ typedef struct {
float fMix;
} EAXBUFFER_REVERBPROPERTIES;
+typedef enum
+{
+ DSPROPERTY_EAX20LISTENER_NONE,
+ DSPROPERTY_EAX20LISTENER_ALLPARAMETERS,
+ DSPROPERTY_EAX20LISTENER_ROOM,
+ DSPROPERTY_EAX20LISTENER_ROOMHF,
+ DSPROPERTY_EAX20LISTENER_ROOMROLLOFFFACTOR,
+ DSPROPERTY_EAX20LISTENER_DECAYTIME,
+ DSPROPERTY_EAX20LISTENER_DECAYHFRATIO,
+ DSPROPERTY_EAX20LISTENER_REFLECTIONS,
+ DSPROPERTY_EAX20LISTENER_REFLECTIONSDELAY,
+ DSPROPERTY_EAX20LISTENER_REVERB,
+ DSPROPERTY_EAX20LISTENER_REVERBDELAY,
+ DSPROPERTY_EAX20LISTENER_ENVIRONMENT,
+ DSPROPERTY_EAX20LISTENER_ENVIRONMENTSIZE,
+ DSPROPERTY_EAX20LISTENER_ENVIRONMENTDIFFUSION,
+ DSPROPERTY_EAX20LISTENER_AIRABSORPTIONHF,
+ DSPROPERTY_EAX20LISTENER_FLAGS
+} DSPROPERTY_EAX20_LISTENERPROPERTY;
+
#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 857f924..297d444 100644
--- a/dlls/dsound/eax.c
+++ b/dlls/dsound/eax.c
@@ -826,6 +826,11 @@ BOOL WINAPI EAX_QuerySupport(REFGUID guidPropSet, ULONG dwPropID, ULONG *pTypeSu
*pTypeSupport = KSPROPERTY_SUPPORT_GET | KSPROPERTY_SUPPORT_SET;
return TRUE;
}
+ } else if (IsEqualGUID(&DSPROPSETID_EAX20_ListenerProperties, guidPropSet)) {
+ if (dwPropID <= DSPROPERTY_EAX20LISTENER_FLAGS) {
+ *pTypeSupport = KSPROPERTY_SUPPORT_GET | KSPROPERTY_SUPPORT_SET;
+ return TRUE;
+ }
}
return FALSE;
@@ -933,6 +938,9 @@ HRESULT WINAPI EAX_Get(IDirectSoundBufferImpl *buf, REFGUID guidPropSet,
}
return S_OK;
+ } else if (IsEqualGUID(&DSPROPSETID_EAX20_ListenerProperties, guidPropSet)) {
+ FIXME("Unsupported DSPROPSETID_EAX20_ListenerProperties: %d\n", dwPropID);
+ return E_PROP_ID_UNSUPPORTED;
}
return E_PROP_ID_UNSUPPORTED;
@@ -1062,6 +1070,9 @@ HRESULT WINAPI EAX_Set(IDirectSoundBufferImpl *buf, REFGUID guidPropSet,
}
return S_OK;
+ } else if (IsEqualGUID(&DSPROPSETID_EAX20_ListenerProperties, guidPropSet)) {
+ FIXME("Unsupported DSPROPSETID_EAX20_ListenerProperties: %d\n", dwPropID);
+ return E_PROP_ID_UNSUPPORTED;
}
return E_PROP_ID_UNSUPPORTED;
--
2.6.0

View File

@ -2911,6 +2911,7 @@ if test "$enable_dsound_EAX" -eq 1; then
patch_apply dsound-EAX/0017-dsound-Implement-EAX-late-all-pass-filter.patch
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
(
echo '+ { "Sebastian Lackner", "dsound: Apply filters before sound is multiplied to speakers.", 1 },';
echo '+ { "Mark Harmstone", "dsound: Add EAX v1 constants and structs.", 1 },';
@ -2931,6 +2932,7 @@ if test "$enable_dsound_EAX" -eq 1; then
echo '+ { "Mark Harmstone", "dsound: Implement EAX late all-pass filter.", 1 },';
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 },';
) >> "$patchlist"
fi