https://bugs.winehq.org/show_bug.cgi?id=50162
Bug ID: 50162 Summary: msvcrt-Math_Precision patchset breaks audio in Diablo III Product: Wine-staging Version: 5.22 Hardware: x86-64 URL: https://www.blizzard.com/download/confirmation?platfor m=windows&product=d3 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: maciej.stanczew+b@gmail.com CC: leslie_alistair@hotmail.com, z.figura12@gmail.com Regression SHA1: 7734f7a8087291ec15c4d1adfe1a6db055972266 Distribution: ArchLinux
Created attachment 68678 --> https://bugs.winehq.org/attachment.cgi?id=68678 Use precise_cosh in unix_cosh instead of unix_cos
Steps to reproduce: 1. Lower your audio volume to not break ears; 2. Launch Diablo III ("wine Diablo\ III64.exe -launch").
Expected result: Menu music starts playing, UI sounds work.
Actual result: There is about 2 seconds of loud, garbled audio, then silence.
I've bisected this to msvcrt-Math_Precision patchset and its latest rebase. Wine 2fb08bed46f + Staging 0192a7b3 don't have the issue. Wine c72e1b096d1 + Staging 7734f7a8 is where the problem is introduced. Building Staging 5.22 with "-W msvcrt-Math_Precision" also produces a working version.
Looking at the patchset's rebase (7734f7a8), we see that precise_cosh was used in unix_cos instead of unix_cosh. Reverting unix_cos to use cos, and using precise_cosh instead in unix_cosh, solves the issue for me. I've attached a patch with these changes.