Hi Davin,
Juergen and I have tested Diablo 2 with your patch and found it has improved the sound. But there is still more to do:
---------- Forwarded message ---------- From: Juergen Wieczorek juergenw_@web.de Date: Oct 31, 2005 3:58 PM Subject: Re: Fwd: DirectSound problems - dlls/dsound/mixer.c To: Jesse Allen the3dfxdude@gmail.com
Sorry, but things are a bit weird with the supplied wine-0.9 for FC3. In order to counter-proof, I did a rpmbuild -bb ... with the *unpatched* sources from wine-0.9-1fc3-winehq and also ended up with dead sound, until I set winecfg to "OSS"! Then sound worked with patched or unpatched mixer.c source.
Strangely, when I installed the provided binary FC3.rpm, winecfg works only with "ALSA" sound setting. Obviously there is something wrong with the build specs of this package, I have to check later.
As for the patched mixer.c source: Sound is now much more fluid and not crackling perpetually, but some long drawn sounds like power-ups have a jarring note to them. Also walking around on the map with the mouse button pressed down produces a jarring noise when in the vicinity of moving flames like those at waypoints or near any sort of open fire. Ths stops when you're at some distance from the flames.
Here is my resp. console output for reference:
err:dsound:DSOUND_PhaseCancel length not a multiple of block size, len = 2454, block size = 4 err:dsound:DSOUND_PhaseCancel length not a multiple of block size, len = 2482, block size = 4 err:dsound:DSOUND_PhaseCancel length not a multiple of block size, len = 2498, block size = 4 err:dsound:DSOUND_PhaseCancel length not a multiple of block size, len = 2550, block size = 4 err:dsound:DSOUND_PhaseCancel length not a multiple of block size, len = 3966, block size = 4 err:dsound:DSOUND_PhaseCancel length not a multiple of block size, len = 3026, block size = 4 fixme:wave:DSD_CreateSecondaryBuffer (0x7fe72db8,0x7fa6842c,e0,0,0x70ff007c,0x70ee3bec,0x70ff00 58): stub fixme:wave:DSD_CreateSecondaryBuffer (0x7fe72db8,0x7fa6842c,e0,0,0x70ed007c,0x721000f4,0x70ed00 58): stub fixme:wave:DSD_CreateSecondaryBuffer (0x7fe72db8,0x7fa6842c,e0,0,0x70ed01b4,0x70ee508c,0x70ed01 90): stub fixme:wave:DSD_CreateSecondaryBuffer (0x7fe72db8,0x7fa6842c,e0,0,0x70ed02ec,0x70ed03dc,0x70ed02 c8): stub fixme:wave:DSD_CreateSecondaryBuffer (0x7fe72db8,0x7fa6842c,e0,0,0x70ed047c,0x70ed058c,0x70ed04 58): stub fixme:wave:DSD_CreateSecondaryBuffer (0x7fe72db8,0x7fa6842c,e0,0,0x70ed062c,0x70ed073c,0x70ed06 08): stub fixme:wave:DSD_CreateSecondaryBuffer (0x7fe72db8,0x7fa6842c,e0,0,0x70ed07dc,0x70ed08ec,0x70ed07 b8): stub fixme:wave:DSD_CreateSecondaryBuffer (0x7fe72db8,0x7fa6842c,e0,0,0x70ed098c,0x70ed0a9c,0x70ed09 68): stub
All in all, much better now, but still a way from being nice.
-- Juergen Wieczorek Hamburg / Germany