From 1142823d53ebc6222acab9851c1372e080b336bb Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Fri, 28 Jul 2023 17:52:47 +1000 Subject: [PATCH] Updated xactengine3_7-PrepareWave patchset --- ...ement-IXACT3Cue-SetOutputVoiceMatrix.patch | 39 +++++++++++++++++++ patches/xactengine3_7-PrepareWave/definition | 1 + 2 files changed, 40 insertions(+) create mode 100644 patches/xactengine3_7-PrepareWave/0004-xactengine-Implement-IXACT3Cue-SetOutputVoiceMatrix.patch diff --git a/patches/xactengine3_7-PrepareWave/0004-xactengine-Implement-IXACT3Cue-SetOutputVoiceMatrix.patch b/patches/xactengine3_7-PrepareWave/0004-xactengine-Implement-IXACT3Cue-SetOutputVoiceMatrix.patch new file mode 100644 index 00000000..0af1950b --- /dev/null +++ b/patches/xactengine3_7-PrepareWave/0004-xactengine-Implement-IXACT3Cue-SetOutputVoiceMatrix.patch @@ -0,0 +1,39 @@ +From 303fef1731a8ceccb890aefd9fa16e69fe82ef03 Mon Sep 17 00:00:00 2001 +From: Alistair Leslie-Hughes +Date: Fri, 28 Jul 2023 17:49:43 +1000 +Subject: [PATCH] xactengine: Implement IXACT3Cue SetOutputVoiceMatrix + +Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55345 + +NOTE: Currently FAudio doesn't support this. +--- + dlls/xactengine3_7/xact_dll.c | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +diff --git a/dlls/xactengine3_7/xact_dll.c b/dlls/xactengine3_7/xact_dll.c +index eba1386cdd7..19009083e3f 100644 +--- a/dlls/xactengine3_7/xact_dll.c ++++ b/dlls/xactengine3_7/xact_dll.c +@@ -330,9 +330,17 @@ static HRESULT WINAPI IXACT3CueImpl_SetOutputVoiceMatrix(IXACT3Cue *iface, + UINT32 DestinationChannels, const float *pLevelMatrix) + { + XACT3CueImpl *This = impl_from_IXACT3Cue(iface); +- FIXME("(%p)->(%p %u %u %p): stub!\n", This, pDestinationVoice, SourceChannels, ++ uint32_t ret; ++ ++ TRACE("(%p)->(%p %u %u %p)\n", This, pDestinationVoice, SourceChannels, + DestinationChannels, pLevelMatrix); +- return S_OK; ++ if (pDestinationVoice) ++ WARN("pDestinationVoice currently not supported\n"); ++ ++ ret = FACTCue_SetOutputVoiceMatrix(This->fact_cue, NULL, SourceChannels, ++ DestinationChannels, pLevelMatrix); ++ ++ return ret ? E_FAIL : S_OK; + } + #endif + +-- +2.40.1 + diff --git a/patches/xactengine3_7-PrepareWave/definition b/patches/xactengine3_7-PrepareWave/definition index 4f604b55..fee9b9b4 100644 --- a/patches/xactengine3_7-PrepareWave/definition +++ b/patches/xactengine3_7-PrepareWave/definition @@ -1,3 +1,4 @@ # This only implements the wine side and now comes an FAudio issue. # reference https://github.com/FNA-XNA/FAudio/issues/206 Fixes: [49689] xactengine3_7: Implement IXACT3Engine PrepareWave +Fixes: [55345] xactengine3_7: Implement IXACT3Cue SetOutputVoiceMatrix