[Diablo II] Enabling 3D Sound & Environmental Effects (EAX)

If you are experiencing issues with Diablo II (or a Bloodline game), you can post here.
hedgesparrow
Skeleton
Posts: 80
Joined: Thu Jan 06, 2022 5:14 pm

Re: [Diablo II] Enabling 3D Sound & Environmental Effects (EAX)

Post by hedgesparrow »

fearedbliss wrote: Sat Mar 12, 2022 3:34 pm But I also really like old Windows, prolly cause I grew up with it so there is definitely a nostalgia factor, at least for gaming. I even have legal and retail boxed copies of Windows XP Pro and Windows 7 Ultimate ;).
For me the peak of Windows was Windows 2000. Finally a home desktop based on the NT kernel, so it was stable, but still familiar. One service patch for Windows 2000 removed the option of choosing what components to install and it's been downhill ever since!
fearedbliss wrote: Sat Mar 12, 2022 3:34 pm Originally I ran Gentoo Linux for a very long time and became a developer for it. Specifically I was focused on ZFS and having your Linux root on ZFS. But eventually I left it and switched to FreeBSD once ZFS was merged into FreeBSD and I waited a bit until after OpenZFS was announced (and FreeBSD rebased their implementation on ZoL). The filesystem alone was the main attraction. Although I don't really like systemd (Even though I use it for Linux Mint cause you know.. it's the default there and I'm already tired of spending my time with these particular sort of things), and looking at all the other crazy OS deviations that are occuring in Linux, switching to FreeBSD at least on the server gave me some stability and mental saneness lol.
I'm currently using Void Linux. No systemd and it even has the option of musl instead of glibc. I like to start from a simple base.
Manny
Death Beetle
Posts: 201
Joined: Sun Mar 06, 2022 10:19 am

Re: [Diablo II] Enabling 3D Sound & Environmental Effects (EAX)

Post by Manny »

Very very nice guys.... we are of like minds on multiple fronts. :D

MX Linux 17 is my home for the time being on "mah freedoms!" machine, but unfortunately they have succumbed to the plague that is systemd in more recent versions.

@sparrow: I've always wanted to try Windows 2000, and you are kind of inspiring me to head back down that road. I have an old Falcon Northwest FragBox currently collecting dust that might be a good candidate. Like many home users at the time, I jumped from 98 straight to XP.

@bliss: I recall listening in one of the "freeBSD Friday" webinars a couple months back, and I heard Deb G saying something to the effect that they are looking into streamlining/improving installs with desktop users in mind, but I'm not holding my breath for anytime soon. It's definitely not a priority, and probably shouldn't be. Anyways, I'll try and find the talk, it was super interesting. I personally just love the philosophy/history behind freeBSD. And the fact that it's actually a complete OS and not just a kernel. I suppose one could run GhostBSD/Midnight/Dragonfly etc, but I'm a purist. I've heard many good things about Gentoo over the years but haven't ever had the opportunity to try it. There are just soo many distros :lol:
fearedbliss
Site Admin
Posts: 432
Joined: Sun Dec 19, 2021 11:23 am

Re: [Diablo II] Enabling 3D Sound & Environmental Effects (EAX)

Post by fearedbliss »

Definitely. Since we've gotten way off topic (Fun though haha), probably better to open a topic in The Tavern of the Rising Sun for further random UNIX discussions lol :D.
Manny
Death Beetle
Posts: 201
Joined: Sun Mar 06, 2022 10:19 am

Re: [Diablo II] Enabling 3D Sound & Environmental Effects (EAX)

Post by Manny »

fearedbliss wrote: Mon Mar 14, 2022 4:41 pm Definitely. Since we've gotten way off topic (Fun though haha), probably better to open a topic in The Tavern of the Rising Sun for further random UNIX discussions lol :D.
Agreed lol & /done :D
viewtopic.php?t=96
hedgesparrow
Skeleton
Posts: 80
Joined: Thu Jan 06, 2022 5:14 pm

Re: [Diablo II] Enabling 3D Sound & Environmental Effects (EAX)

Post by hedgesparrow »

I tried the new Cactus that includes the 3D sound dlls. I have dsound and eax as overrides in winecfg. It still doesn't work under wine :(.
Manny
Death Beetle
Posts: 201
Joined: Sun Mar 06, 2022 10:19 am

Re: [Diablo II] Enabling 3D Sound & Environmental Effects (EAX)

Post by Manny »

hedgesparrow wrote: Fri Mar 18, 2022 10:01 am I tried the new Cactus that includes the 3D sound dlls. I have dsound and eax as overrides in winecfg. It still doesn't work under wine :(.
:cry:
fearedbliss
Site Admin
Posts: 432
Joined: Sun Dec 19, 2021 11:23 am

Re: [Diablo II] Enabling 3D Sound & Environmental Effects (EAX)

Post by fearedbliss »

@hedgesparrow

This seems to be the other one that people recommend but I haven't tried it yet: Indirect Sound.

One thing you could try doing is putting the dsound.dll and eax.dll in your wine prefix' system32 directory (Or wherever the default dsound.dll is), in that case, the modified version would be the only available implementation of dsound.dll so it would have to use it. Normally the dll override is what you would use, but it seems that isn't working, or something is off somewhere.
hedgesparrow
Skeleton
Posts: 80
Joined: Thu Jan 06, 2022 5:14 pm

Re: [Diablo II] Enabling 3D Sound & Environmental Effects (EAX)

Post by hedgesparrow »

fearedbliss wrote: Sun Mar 20, 2022 2:38 pm @hedgesparrow

This seems to be the other one that people recommend but I haven't tried it yet: Indirect Sound.

One thing you could try doing is putting the dsound.dll and eax.dll in your wine prefix' system32 directory (Or wherever the default dsound.dll is), in that case, the modified version would be the only available implementation of dsound.dll so it would have to use it. Normally the dll override is what you would use, but it seems that isn't working, or something is off somewhere.
Indirect Sound works. However, it doesn't support EAX. The 3D sound option worked but I'm using headphones so doesn't do much.
fearedbliss
Site Admin
Posts: 432
Joined: Sun Dec 19, 2021 11:23 am

Re: [Diablo II] Enabling 3D Sound & Environmental Effects (EAX)

Post by fearedbliss »

I think it does support EAX but you'll need to enable some tweaks in the `dsound.ini` from what I'm looking at in other games. I think I also saw some of this instructions in one of the links connected to a link Manny sent haha:

https://forum.median-xl.com/viewtopic.php?t=20921

I'l testing this on my Linux mint box atm. Depending on what happens, I'll test on Windows as well and if they both work I might switch the Cactus implementation to this one so that both Windows and Linux work.

This is also what's listed on the official IndirectSound website "Support Games" section. The D2 section doesn't have anything but the other games reveal some hints that may help us:

https://www.indirectsound.com/games.html

I'll make another post or edit this one after my testing.
fearedbliss
Site Admin
Posts: 432
Joined: Sun Dec 19, 2021 11:23 am

Re: [Diablo II] Enabling 3D Sound & Environmental Effects (EAX)

Post by fearedbliss »

TLDR: BURAOT's Implementation yielded a significant difference in sound quality when compared to IndirectSound.
BURAOT's Implementation only works on Windows, I wasn't able to get it to work on Linux in anyway. IndirectSound
allowed all of the sound options to be enabled on Windows and on Linux, but I didn't really hear a significant difference
regardless of whether I used EAX 1.0 or EAX 2.0 emulation as it's currently implemented in IndirectSound 0.20. Since
the difference in sound quality was noticable, I will be sticking with BURAOT's implementation in Cactus, however, for Linux
users, you may as well try IndirectSound anyways since you may notice some improvements on your end.

[Video] 3D Sound Comparison - BURAOT vs IndirectSound (Included in Cactus)

Testing Notes
  • Linux Mint 20.3
  • Wine 7.0 (Stable)
  • Clean Win32 Prefix
  • Windows Version in winecfg: Windows 7 (I would probably recommend Windows XP just in case, maybe even earlier, I do this on Windows itself - for the Mouse 3 compatibility specifically).
The below configurations place the appropriate files directly into the Diablo II root directory.

BURAOT's Implementation

- With 'dsound' and 'eax' (No overrides in winecfg for 'dsound'): Nothing detected in game

- With 'dsound' override (native, builtin): Nothing detected in game

- With 'dsound' override (native) - dsound.dll and eax.dll ARE in the d2 root folder: Game starts up but not sound at all (Sound Options greyed out).

- With 'dsound' override (native) - dsound.dll / eax.dll are NOT in the d2 root folder: Game crashes at start - Hard locked.
0024:err:module:import_dll Library DSOUND.dll (which is needed by L"Z:\\home\\jon\\Games\\Diablo II\\D2Sound.dll") not found
0024:err:module:import_dll Library D2Sound.dll (which is needed by L"Z:\\home\\jon\\Games\\Diablo II\\Game.exe") not found
0024:err:module:import_dll Library DSOUND.dll (which is needed by L"Z:\\home\\jon\\Games\\Diablo II\\D2Sound.dll") not found
0024:err:module:import_dll Library D2Sound.dll (which is needed by L"Z:\\home\\jon\\Games\\Diablo II\\D2Win.dll") not found
0024:err:module:import_dll Library D2Win.dll (which is needed by L"Z:\\home\\jon\\Games\\Diablo II\\Game.exe") not found
0024:err:module:LdrInitializeThunk Importing dlls for L"Z:\\home\\jon\\Games\\Diablo II\\Game.exe" failed, status c0000135
- With 'dsound override (native), but replaced the 'dsound.dll' provided by wine in system32 with our 'dsound.dll' and 'eax.dll': Game crashes at start - Hard locked.
01c0:err:sync:RtlpWaitForCriticalSection section 7BC68440 "dlls/ntdll/loader.c: loader_section" wait timed out in thread 01c0, blocked by 018c, retrying (60 sec)
- Setting the override to (native, builtin): Game crashes at start.

IndirectSound 0.20

- With 'dsound' (No overrides in winecfg for 'dsound'): Nothing detected in game

- With 'dsound' override (native, builtin): 3D Sound and 3D Bias now Available. Environmental Effects not enabled by default.

In dsound.ini:

Changing either 'eax1' or 'eax2' or both from false to true will enable "Environmental Effects" in game.
I didn't really notice any significant difference when using my laptop's external speakers, however using
my Razer Headphones allowed a bit more of the depth to be displayed. Although nothing major but it helps.
On Windows, the sound difference wasn't really any different than the Linux counterpart.

This was the quote in the 'dsound.ini' configuration file for the EAX section:
--[[

EAX ("Environmental Audio Extensions") is not emulated by IndirectSound.

IndirectSound can emulate EAX support, however.
In other words, IndirectSound will pretend that EAX is supported
so that games using IndirectSound will think that EAX is available.
This is useful for some games that don't calculate
3D positional audio unless EAX is supported.

(Actual emulation of EAX is under development
but is not yet ready to release.)

There are two versions of EAX with emulated support:
* EAX 1.0
* EAX 2.0
Support for later versions of EAX is not yet emulated.

To emulate support for a specific EAX version
set the corresponding value to "true" (with no quotes), e.g.:

eax2 = true

To disable emulated support set the value to false.

Disabling EAX has the same effect as setting the
"Hardware Acceleration" slider in the control panel to "Standard"
on older versions of Windows.

]]

eax1 = false
eax2 = false
Post Reply