aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMaranBr <maranbr@outlook.com>2025-10-01 05:33:37 +0200
committercrueter <crueter@eden-emu.dev>2025-10-01 05:33:37 +0200
commit9a098441def2cfc4281ab1af6b2e8b34200800c0 (patch)
tree429f874ec6740c4005eeb88f6ca6f43611996c17 /src
parent91fb1df624bdd58f4636c74cb6bc922325cebbbf (diff)
[audio_core] Fix audio issue in The Legend of Zelda - Echoes of Wisdom (#2594)
This fixes the audio issue in The Legend of Zelda - Echoes of Wisdom on Windows. Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2594 Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Co-authored-by: MaranBr <maranbr@outlook.com> Co-committed-by: MaranBr <maranbr@outlook.com>
Diffstat (limited to 'src')
-rw-r--r--src/audio_core/renderer/behavior/info_updater.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/audio_core/renderer/behavior/info_updater.cpp b/src/audio_core/renderer/behavior/info_updater.cpp
index 3dae6069f7..48fe1f8975 100644
--- a/src/audio_core/renderer/behavior/info_updater.cpp
+++ b/src/audio_core/renderer/behavior/info_updater.cpp
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-License-Identifier: GPL-3.0-or-later
+
// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
@@ -162,6 +165,12 @@ Result InfoUpdater::UpdateEffectsVersion1(EffectContext& effect_context, const b
reinterpret_cast<EffectInfoBase::OutStatusVersion1*>(output), effect_count};
for (u32 i = 0; i < effect_count; i++) {
+#ifdef _WIN32
+ // There's a bug in Windows where using this effect causes extreme noise. So let's skip it.
+ if (in_params[i].type == EffectInfoBase::Type::Reverb) {
+ continue;
+ }
+#endif
auto effect_info{&effect_context.GetInfo(i)};
if (effect_info->GetType() != in_params[i].type) {
effect_info->ForceUnmapBuffers(pool_mapper);
@@ -209,6 +218,12 @@ Result InfoUpdater::UpdateEffectsVersion2(EffectContext& effect_context, const b
reinterpret_cast<EffectInfoBase::OutStatusVersion2*>(output), effect_count};
for (u32 i = 0; i < effect_count; i++) {
+#ifdef _WIN32
+ // There's a bug in Windows where using this effect causes extreme noise. So let's skip it.
+ if (in_params[i].type == EffectInfoBase::Type::Reverb) {
+ continue;
+ }
+#endif
auto effect_info{&effect_context.GetInfo(i)};
if (effect_info->GetType() != in_params[i].type) {
effect_info->ForceUnmapBuffers(pool_mapper);