diff --git a/README.md b/README.md index 606d501f..f32f44e8 100644 --- a/README.md +++ b/README.md @@ -39,11 +39,12 @@ Wine. All those differences are also documented on the Included bug fixes and improvements ----------------------------------- -**Bug fixes and features included in the next upcoming release [9]:** +**Bug fixes and features included in the next upcoming release [10]:** * Add stubs for d3dx10_43.D3DX10CreateEffectFromFileA/W ([Wine Bug #27739](https://bugs.winehq.org/show_bug.cgi?id=27739)) * Add support for ThreadQuerySetWin32StartAddress info class ([Wine Bug #8277](https://bugs.winehq.org/show_bug.cgi?id=8277)) * Check architecture before trying to load libraries ([Wine Bug #38021](https://bugs.winehq.org/show_bug.cgi?id=38021)) +* Export additional OpenAL32 functions ([Wine Bug #38972](https://bugs.winehq.org/show_bug.cgi?id=38972)) * Fake success in kernel32.SetFileCompletionNotificationModes ([Wine Bug #38960](https://bugs.winehq.org/show_bug.cgi?id=38960)) * Fix loading of libraries with incomplete IMAGE_LOAD_CONFIG_DIRECTORY struct * Fix security cookie handling for UPX compressed executables ([Wine Bug #38949](https://bugs.winehq.org/show_bug.cgi?id=38949)) diff --git a/debian/changelog b/debian/changelog index 4a6da683..2dabf595 100644 --- a/debian/changelog +++ b/debian/changelog @@ -14,6 +14,7 @@ wine-staging (1.7.48) UNRELEASED; urgency=low * Added patches to improve security cookie handling. * Added patches to implement ThreadQuerySetWin32StartAddress info class. * Added patch to fake success in kernel32.SetFileCompletionNotificationModes. + * Added patch to export additional OpenAL32 functions. * Removed patch to allow to enable/disable InsertMode in wineconsole settings (accepted upstream). * Removed patch to improve IoGetDeviceObjectPointer stub to appease SecuROM diff --git a/patches/openal32-EFX_Extension/0001-openal32-Export-EFX-extension-functions.patch b/patches/openal32-EFX_Extension/0001-openal32-Export-EFX-extension-functions.patch new file mode 100644 index 00000000..2d22accb --- /dev/null +++ b/patches/openal32-EFX_Extension/0001-openal32-Export-EFX-extension-functions.patch @@ -0,0 +1,184 @@ +From 4853f2c3b243c55f20a4f403cc9e2407a051d1c6 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Michael=20M=C3=BCller?= +Date: Tue, 28 Jul 2015 05:44:11 +0200 +Subject: openal32: Export EFX extension functions. + +--- + dlls/openal32/openal.c | 44 ++++++++++++++++++++++---------------------- + dlls/openal32/openal32.spec | 23 +++++++++++++++++++++++ + 2 files changed, 45 insertions(+), 22 deletions(-) + +diff --git a/dlls/openal32/openal.c b/dlls/openal32/openal.c +index 5a4e1e7..d266f12 100644 +--- a/dlls/openal32/openal.c ++++ b/dlls/openal32/openal.c +@@ -647,113 +647,113 @@ ALvoid CDECL wine_alSpeedOfSound(ALfloat value) + } + + /* OpenAL EFX extension functions */ +-static ALvoid CDECL wine_alGenFilters(ALsizei n, ALuint* filters) ++ALvoid CDECL wine_alGenFilters(ALsizei n, ALuint* filters) + { + alGenFilters(n, filters); + } + +-static ALvoid CDECL wine_alDeleteFilters(ALsizei n, const ALuint* filters) ++ALvoid CDECL wine_alDeleteFilters(ALsizei n, const ALuint* filters) + { + alDeleteFilters(n, filters); + } + +-static ALboolean CDECL wine_alIsFilter(ALuint fid) ++ALboolean CDECL wine_alIsFilter(ALuint fid) + { + return alIsFilter(fid); + } + +-static ALvoid CDECL wine_alFilterf(ALuint fid, ALenum param, ALfloat value) ++ALvoid CDECL wine_alFilterf(ALuint fid, ALenum param, ALfloat value) + { + alFilterf(fid, param, value); + } + +-static ALvoid CDECL wine_alFilterfv(ALuint fid, ALenum param, const ALfloat* values) ++ALvoid CDECL wine_alFilterfv(ALuint fid, ALenum param, const ALfloat* values) + { + alFilterfv(fid, param, values); + } + +-static ALvoid CDECL wine_alFilteri(ALuint fid, ALenum param, ALint value) ++ALvoid CDECL wine_alFilteri(ALuint fid, ALenum param, ALint value) + { + alFilteri(fid, param, value); + } + +-static ALvoid CDECL wine_alFilteriv(ALuint fid, ALenum param, const ALint* values) ++ALvoid CDECL wine_alFilteriv(ALuint fid, ALenum param, const ALint* values) + { + alFilteriv(fid, param, values); + } + +-static ALvoid CDECL wine_alGetFilterf(ALuint fid, ALenum param, ALfloat* value) ++ALvoid CDECL wine_alGetFilterf(ALuint fid, ALenum param, ALfloat* value) + { + alGetFilterf(fid, param, value); + } + +-static ALvoid CDECL wine_alGetFilterfv(ALuint fid, ALenum param, ALfloat* values) ++ALvoid CDECL wine_alGetFilterfv(ALuint fid, ALenum param, ALfloat* values) + { + alGetFilterfv(fid, param, values); + } + +-static ALvoid CDECL wine_alGetFilteri(ALuint fid, ALenum param, ALint* value) ++ALvoid CDECL wine_alGetFilteri(ALuint fid, ALenum param, ALint* value) + { + alGetFilteri(fid, param, value); + } + +-static ALvoid CDECL wine_alGetFilteriv(ALuint fid, ALenum param, ALint* values) ++ALvoid CDECL wine_alGetFilteriv(ALuint fid, ALenum param, ALint* values) + { + alGetFilteriv(fid, param, values); + } + + +-static ALvoid CDECL wine_alGenEffects(ALsizei n, ALuint* effects) ++ALvoid CDECL wine_alGenEffects(ALsizei n, ALuint* effects) + { + alGenEffects(n, effects); + } + +-static ALvoid CDECL wine_alDeleteEffects(ALsizei n, const ALuint* effects) ++ALvoid CDECL wine_alDeleteEffects(ALsizei n, const ALuint* effects) + { + alDeleteEffects(n, effects); + } + +-static ALboolean CDECL wine_alIsEffect(ALuint eid) ++ALboolean CDECL wine_alIsEffect(ALuint eid) + { + return alIsEffect(eid); + } + +-static ALvoid CDECL wine_alEffectf(ALuint eid, ALenum param, ALfloat value) ++ALvoid CDECL wine_alEffectf(ALuint eid, ALenum param, ALfloat value) + { + alEffectf(eid, param, value); + } + +-static ALvoid CDECL wine_alEffectfv(ALuint eid, ALenum param, const ALfloat* values) ++ALvoid CDECL wine_alEffectfv(ALuint eid, ALenum param, const ALfloat* values) + { + alEffectfv(eid, param, values); + } + +-static ALvoid CDECL wine_alEffecti(ALuint eid, ALenum param, ALint value) ++ALvoid CDECL wine_alEffecti(ALuint eid, ALenum param, ALint value) + { + alEffecti(eid, param, value); + } + +-static ALvoid CDECL wine_alEffectiv(ALuint eid, ALenum param, const ALint* values) ++ALvoid CDECL wine_alEffectiv(ALuint eid, ALenum param, const ALint* values) + { + alEffectiv(eid, param, values); + } + +-static ALvoid CDECL wine_alGetEffectf(ALuint eid, ALenum param, ALfloat* value) ++ALvoid CDECL wine_alGetEffectf(ALuint eid, ALenum param, ALfloat* value) + { + alGetEffectf(eid, param, value); + } + +-static ALvoid CDECL wine_alGetEffectfv(ALuint eid, ALenum param, ALfloat* values) ++ALvoid CDECL wine_alGetEffectfv(ALuint eid, ALenum param, ALfloat* values) + { + alGetEffectfv(eid, param, values); + } + +-static ALvoid CDECL wine_alGetEffecti(ALuint eid, ALenum param, ALint* value) ++ALvoid CDECL wine_alGetEffecti(ALuint eid, ALenum param, ALint* value) + { + alGetEffecti(eid, param, value); + } + +-static ALvoid CDECL wine_alGetEffectiv(ALuint eid, ALenum param, ALint* values) ++ALvoid CDECL wine_alGetEffectiv(ALuint eid, ALenum param, ALint* values) + { + alGetEffectiv(eid, param, values); + } +diff --git a/dlls/openal32/openal32.spec b/dlls/openal32/openal32.spec +index 0094fc2..b5f7b8a 100644 +--- a/dlls/openal32/openal32.spec ++++ b/dlls/openal32/openal32.spec +@@ -95,3 +95,26 @@ + @ cdecl alGetBuffer3f(long long ptr ptr ptr) wine_alGetBuffer3f + @ cdecl alGetBuffer3i(long long ptr ptr ptr) wine_alGetBuffer3i + @ cdecl alSpeedOfSound(long) wine_alSpeedOfSound ++# OpenAL EFX extension ++@ cdecl alGenFilters(long ptr) wine_alGenFilters ++@ cdecl alDeleteFilters(long ptr) wine_alDeleteFilters ++@ cdecl alIsFilter(long) wine_alIsFilter ++@ cdecl alFilterf(long long float) wine_alFilterf ++@ cdecl alFilterfv(long long ptr) wine_alFilterfv ++@ cdecl alFilteri(long long long) wine_alFilteri ++@ cdecl alFilteriv(long long ptr) wine_alFilteriv ++@ cdecl alGetFilterf(long long ptr) wine_alGetFilterf ++@ cdecl alGetFilterfv(long long ptr) wine_alGetFilterfv ++@ cdecl alGetFilteri(long long ptr) wine_alGetFilteri ++@ cdecl alGetFilteriv(long long ptr) wine_alGetFilteriv ++@ cdecl alGenEffects(long ptr) wine_alGenEffects ++@ cdecl alDeleteEffects(long ptr) wine_alDeleteEffects ++@ cdecl alIsEffect(long) wine_alIsEffect ++@ cdecl alEffectf(long long float) wine_alEffectf ++@ cdecl alEffectfv(long long ptr) wine_alEffectfv ++@ cdecl alEffecti(long long long) wine_alEffecti ++@ cdecl alEffectiv(long long ptr) wine_alEffectiv ++@ cdecl alGetEffectf(long long ptr) wine_alGetEffectf ++@ cdecl alGetEffectfv(long long ptr) wine_alGetEffectfv ++@ cdecl alGetEffecti(long long ptr) wine_alGetEffecti ++@ cdecl alGetEffectiv(long long ptr) wine_alGetEffectiv +-- +2.4.5 + diff --git a/patches/openal32-EFX_Extension/definition b/patches/openal32-EFX_Extension/definition new file mode 100644 index 00000000..e95494df --- /dev/null +++ b/patches/openal32-EFX_Extension/definition @@ -0,0 +1 @@ +Fixes: [38972] Export additional OpenAL32 functions diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index de6afb9d..b948aff4 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -185,6 +185,7 @@ patch_enable_all () enable_nvcuda_CUDA_Support="$1" enable_nvcuvid_CUDA_Video_Support="$1" enable_nvencodeapi_Video_Encoder="$1" + enable_openal32_EFX_Extension="$1" enable_opengl32_Revert_Disable_Ext="$1" enable_quartz_MediaSeeking_Positions="$1" enable_rasapi32_RasEnumDevicesA="$1" @@ -628,6 +629,9 @@ patch_enable () nvencodeapi-Video_Encoder) enable_nvencodeapi_Video_Encoder="$2" ;; + openal32-EFX_Extension) + enable_openal32_EFX_Extension="$2" + ;; opengl32-Revert_Disable_Ext) enable_opengl32_Revert_Disable_Ext="$2" ;; @@ -3913,6 +3917,21 @@ if test "$enable_nvencodeapi_Video_Encoder" -eq 1; then ) >> "$patchlist" fi +# Patchset openal32-EFX_Extension +# | +# | This patchset fixes the following Wine bugs: +# | * [#38972] Export additional OpenAL32 functions +# | +# | Modified files: +# | * dlls/openal32/openal.c, dlls/openal32/openal32.spec +# | +if test "$enable_openal32_EFX_Extension" -eq 1; then + patch_apply openal32-EFX_Extension/0001-openal32-Export-EFX-extension-functions.patch + ( + echo '+ { "Michael Müller", "openal32: Export EFX extension functions.", 1 },'; + ) >> "$patchlist" +fi + # Patchset opengl32-Revert_Disable_Ext # | # | This patchset fixes the following Wine bugs: