BROs, you're useless. Already tested disso shitto on SS2.
Verdict:
NewDark + OpenAL Soft > DSOAL
Games using Dark Engine support 3D sound & EAX natively, so they don't need any "wrapper .dll". Just a way to enable EAX and configure the sound.
Hardware Accelerated sound can be enabled out of the box:
But the "EAX" setting is greyed-out.
Solution:
1) Grab OpenAL 1.1 Windows installer from
OpenAL site.
2) Install AL using
oalinst.exe.
3) Grab latest
OpenAL Soft binaries from
OpenAL Soft site.
4) Extract
soft_oal.dll from the \bin\Win32 subfolder of the archive to game's main folder (where Shock2.exe is).
5) Grab the alsoft.ini from
systemshock.org.
Beware! It's set for headphones:
Code:
channels=stereo
stereo-mode=headphones
hrtf-mode=full
So tweak it if you plan on using different setup (5.1 channels + speakers for example):
In the alsoft.ini remove the headphone and hrtf lines and change thechannels=stereo to channels=surround51 to make the audio into 5.1 surround.
You can modify alsoft.ini manually (syntax
here).
6) Modify cam_ext.cfg in game's folder, adding "snd_oal_device OpenAL Soft" somewhere. For example here:
Code:
; when using the OpenAL sound driver the default AL device may sometimes cause problems, in particular for
; on-board sound controllers. In those instances you can try an alternative AL device. Which other AL devices
; are available can be seen in the log file (when AL is enabled). It seems that usually the "Generic Software"
; device is available, which is a good one to try as an alternative.
;snd_oal_device Generic Software
snd_oal_device OpenAL Soft
Actually not necessary, see next post.
And after these few and simple steps
, voila:
Sound on speakers is super weird (on headphones it should be fine), but after changing "stereo-mode=headphones" to "stereo-mode=speakers", it's much better. I would even say GLORIOUS.
And everything works fine, judging by SHOCK2.log:
: OpenAL Init...
: OpenAL32.dll: 6.14.357.24
: wrap_oal.dll: 2.2.0.5
: Default device: Generic Software
: Enumerating devices without validation...
: Device: Generic Software
: Device: OpenAL Soft
: found 2 unvalidated device(s)
: Enumerating extended devices without validation...
: Device: Generic Software on Speakers (Realtek High Definition Audio)
: Device: Generic Software on Realtek Digital Output (Realtek High Definition Audio)
: Device: OpenAL Soft on Speakers (Realtek High Definition Audio)
: Device: OpenAL Soft on Realtek Digital Output (Realtek High Definition Audio)
: found 2 unvalidated extended device(s)
: Opening user defined OpenAL device "OpenAL Soft"...
: Device 0
: name : OpenAL Soft
: version : 1.1
: version str: 1.1 ALSOFT 1.23.1
: vendor : OpenAL Community
: renderer : OpenAL Soft
: 3D sources : 255
: 2D sources : 8
: EFX : 1
: EAX2 : 1
: EAX3 : 1
: EAX4 : 1
: EAX5 : 1
: occlusion : 1
: XRAM : 1
: Opened device 'OpenAL Soft'
: EAX reverb support enabled
: occlusion support enabled
And what about DSOAL?
It's easier to use indeed, you just have to grab the DSOAL.zip
from github and extract alsoft.ini, dsoal-aldrv.dll & dsound.dll (wrapper) to game's folder, but...
1) You still have to configure alsoft.ini - the one found in DSOAL.zip is the "default" one (with most options disabled).
2) EAX can be enabled in the game, but SHOCK2.log looks like this:
: OpenAL Init...
: OpenAL32.dll: 6.14.357.24
: wrap_oal.dll: 2.2.0.5
: Default device: Generic Software
: Enumerating devices without validation...
: Device: Generic Software
: found 1 unvalidated device(s)
: Enumerating extended devices without validation...
: Device: Generic Software on Speakers (Realtek High Definition Audio)
: Device: Generic Software on Realtek Digital Output (Realtek High Definition Audio)
: found 1 unvalidated extended device(s)
: Opening default OpenAL device "Generic Software"...
: Device 0 (default)
: name : Generic Software
: version : 1.1
: version str: 1.1
: vendor : Creative Labs Inc.
: renderer : Software
: 3D sources : 248
: 2D sources : 8
: EFX : 1
: EAX2 : 1
: EAX3 : 0
: EAX4 : 0
: EAX5 : 0
: occlusion : 1
: XRAM : 0
: Opened device 'Generic Software'
: EAX reverb support enabled
: occlusion support enabled
So EAX3-4 isn't supported.
And that's all folks.
I will add all this shit to the blog's entry tomorrow.
God bless
Denim Destroyer &
agris.