For direct access use https://forums.oldunreal.com
It's been quite a while since oldunreal had an overhaul, but we are moving to another server which require some updates and changes. The biggest change is the migration of our old reliable YaBB forum to phpBB. This system expects you to login with your username and old password known from YaBB.
If you experience any problems there is also the usual "password forgotten" function. Don't forget to clear your browser cache!
If you have any further concerns feel free to contact me: Smirftsch@oldunreal.com

Specify Audio Device in UE2 Games

Unreal2 seems to vanish more and more too. Time to put it up here :)
Post Reply
User avatar
skakruk
OldUnreal Member
Posts: 5
Joined: Sat Feb 28, 2009 12:05 am

Specify Audio Device in UE2 Games

Post by skakruk »

In UE3 you can point the game to a specific OpenAL device with DeviceName=. Is there any way to do this in UE2.X games like Unreal 2?
User avatar
Dr.Flay™
OldUnreal Member
Posts: 423
Joined: Sun Dec 09, 2012 5:57 pm

Re: Specify Audio Device in UE2 Games

Post by Dr.Flay™ »

They all work the same way, eg. this is from UT2004
[Engine.Engine]
AudioDevice=ALAudio.ALAudioSubsystem
User avatar
GreatEmerald
OldUnreal Member
Posts: 5347
Joined: Mon May 21, 2007 2:30 pm

Re: Specify Audio Device in UE2 Games

Post by GreatEmerald »

Hmm, why? OpenAL should default to whatever is default on your system. So just change the options of that.
User avatar
skakruk
OldUnreal Member
Posts: 5
Joined: Sat Feb 28, 2009 12:05 am

Re: Specify Audio Device in UE2 Games

Post by skakruk »

They all work the same way, eg. this is from UT2004
[Engine.Engine]
AudioDevice=ALAudio.ALAudioSubsystem
No, that's not the same thing.

In UT3 there is a AudioDeviceClass and a DeviceName.

The AudioDeviceClass is used to specify OpenAL (vs, say, FMOD or Galaxy if they existed, but in this case it will be OpenAL; "ALAudio.ALAudioSubsystem".

DeviceName would then be used to - in the case of OpeanAL - specify which OpenAL device is to be used, eg.  "DeviceName=SB X-Fi Audio [0001]" if you wanted it to be using an X-Fi chip you might have installed, "DeviceName=OpenAL Soft" if you wanted it to use OpenAL Soft. It usually defaults to "DeviceName=Generic Software", which I suppose is OpenAL software rendering.

The older Unreal Engine games do not have DeviceName in the ini, so I can't specify OpenAL Soft, which is what I want to use. I can't trick any of these games into using OpenAL Soft by renaming the dll to DefOpenAL32.dll, substituting it for the one in the game directory, and using DefaultDriver=True like I can in other games. Unreal 2's audio is unusably buggy with any standard OpenALs, so OpenAL Soft is my only hope.
Hmm, why? OpenAL should default to whatever is default on your system. So just change the options of that.
Changing OpenAL Soft to the default OpenAL device would be a less desirable brute force method, but if that was the only option it would have to do. How do you change the default OpenAL device?
Last edited by skakruk on Mon May 11, 2015 11:52 am, edited 1 time in total.
User avatar
han
Global Moderator
Posts: 686
Joined: Wed Dec 10, 2014 12:38 am

Re: Specify Audio Device in UE2 Games

Post by han »

Did you try renaming the OpenAL Soft dll to OpenAL32.dll and place it in the Unreal2/System directory or did i just get your description of what you did wrong?
Last edited by han on Mon May 11, 2015 12:14 pm, edited 1 time in total.
HX on Mod DB. Revision on Steam. Löffels on Patreon.
User avatar
GreatEmerald
OldUnreal Member
Posts: 5347
Joined: Mon May 21, 2007 2:30 pm

Re: Specify Audio Device in UE2 Games

Post by GreatEmerald »

Well, on Linux you would be able to do that by editing .openalrc, but I don't think it's implemented on Windows. Anyway, Unreal II is special and you have the EAX "Audigy only" option that selects the X-Fi device just fine (in fact enabling it disables Generic Software so it really is Creative-only), at least on my setup. And you need to install OpenAL, newer than the one shipped with the game. If you install it system-wide then set UseDefaultDriver=False in Unreal2.ini, else you'll need to replace DefOpenAL32.dll.

And just in case, my options (with which I get all the correct EAX effects and whatnot) are:

Code: Select all

[ALAudio.ALAudioSubsystem]
UseEAX=true
CompatibilityMode=False
UsePrecache=True
ReverseStereo=False
Channels=32
MusicVolume=0.800000
SoundVolume=0.800000
DopplerFactor=1.000000
Rolloff=0.500000
Use3DSound=True
UseDefaultDriver=False
TimeBetweenHWUpdates=15.000000
Last edited by GreatEmerald on Mon May 11, 2015 1:51 pm, edited 1 time in total.
User avatar
han
Global Moderator
Posts: 686
Joined: Wed Dec 10, 2014 12:38 am

Re: Specify Audio Device in UE2 Games

Post by han »

Maybe the Readme of ALSoft is of some help:
OpenAL Soft Binary Distribution

These binaries are provided as a convenience. Users and developers may use it
so they can use OpenAL Soft without having to build it from source.

Note that it is still expected to install the OpenAL redistributable provided
by Creative Labs (at http://openal.org/), as that will provide the "router"
OpenAL32.dll that applications talk to, and may provide extra drivers for the
user's hardware. The DLLs provided here will simply add additional devices for
applications to select from. If you do not wish to use the redistributable,
then rename soft_oal.dll to OpenAL32.dll (note: even the 64-bit DLL should be
named OpenAL32.dll). Just be aware this will prevent other system-installed
OpenAL implementations from working.

To use the 32-bit DLL, copy it from the bin\Win32 folder to the folder that
the 32-bit OpenAL32.dll router is installed in.
For 32-bit Windows, the Win32 DLL will typically go into the system32 folder.
For 64-bit Windows, the Win32 DLL will typically go into the SysWOW64 folder.

To use the 64-bit DLL, copy it from the bin\Win64 folder to the folder that
the 64-bit OpenAL32.dll router is installed in.
For 64-bit Windows, this will typically be the system32 folder.

The included openal-info32.exe and openal-info64.exe programs can be used to
tell if the OpenAL Soft DLL is being detected. It should be run from a command
shell, as the program will exit as soon as it's done printing information.

A configuration GUI app is provided in the alsoft-config folder. It is a front-
end to editing %AppData%\alsoft.ini, which can be used to modify certain
behaviors for OpenAL Soft devices.


HRTF data sets are provided for 44.1khz and 48khz playback in the hrtf folder.
They should be copied into %AppData%\openal\hrtf to be seen by OpenAL Soft
devices (note that HRTF must currently be forced in the configuration app to
work).

Have fun!
Last edited by han on Mon May 11, 2015 6:24 pm, edited 1 time in total.
HX on Mod DB. Revision on Steam. Löffels on Patreon.
User avatar
skakruk
OldUnreal Member
Posts: 5
Joined: Sat Feb 28, 2009 12:05 am

Re: Specify Audio Device in UE2 Games

Post by skakruk »

Did you try renaming the OpenAL Soft dll to OpenAL32.dll and place it in the Unreal2/System directory or did i just get your description of what you did wrong?
Renaming soft_oal.dll to DefOpenAL32.dll and using it to replace the existing DefOpenAL32.dll in the game directory, with DefaultDriver=True in the game's .ini, does not work as I've already said.

Renaming soft_oal to OpenAL32.dll and using it to replace OpenAL32.dll in the SysWOW64 directory, with  DefaultDriver=False, doesn't work either.

Those methods can work for UE3 games (ironically, because they don't need them), but not for UT2003, UT2004 or Unreal 2.
Well, on Linux you would be able to do that by editing .openalrc, but I don't think it's implemented on Windows. Anyway, Unreal II is special and you have the EAX "Audigy only" option that selects the X-Fi device just fine (in fact enabling it disables Generic Software so it really is Creative-only), at least on my setup. And you need to install OpenAL, newer than the one shipped with the game. If you install it system-wide then set UseDefaultDriver=False in Unreal2.ini, else you'll need to replace DefOpenAL32.dll.

And just in case, my options (with which I get all the correct EAX effects and whatnot) are:

Code: Select all

[ALAudio.ALAudioSubsystem]
UseEAX=true
CompatibilityMode=False
UsePrecache=True
ReverseStereo=False
Channels=32
MusicVolume=0.800000
SoundVolume=0.800000
DopplerFactor=1.000000
Rolloff=0.500000
Use3DSound=True
UseDefaultDriver=False
TimeBetweenHWUpdates=15.000000
I've tried that and every other combination of those settings, and it's impossible to get decent sound in Unreal 2 (using Windows 7 at least). It was just as messed up with an X-Fi Titanium HD as it is with any of my non-Creative cards (just in different ways). With the X-Fi, some sounds like footsteps were getting cut short (or in many places absent altogether), positioning was completely wrong, the last played ambient sound would loop during loading screens, etc, etc. It was a total disaster, which contrasts with UT2003/04, in which the X-Fi is the ONLY way to get really good sound (without the X-Fi UT2003/04 is still much better than Unreal 2, but you will get issues like some distortion if you set off multiple loud sounds like shock combos at once).

So with UT2003/04 I get excellect sound with the X-Fi and acceptable sound without it, but with Unreal 2 I get terrible sound with or without the X-Fi. For the record, the X-Fi drivers caused problems on my latest build, so I'm not using it any more.

X-Fi or not, I always install the latest version of OpenAL, not that it helps Unreal 2 at all. Trying to get decent sound from Unreal 2 using official OpenAL 'devices' (Genericsoftware, generichardware or X-Fi) is a lost cause, which is why I want to get it to recognise OpenAL Soft. I've had excellent results using OpenAL Soft in UT3 and Mirror's Edge etc.
Maybe the Readme of ALSoft is of some help:
OpenAL Soft Binary Distribution

These binaries are provided as a convenience. Users and developers may use it
so they can use OpenAL Soft without having to build it from source.

Note that it is still expected to install the OpenAL redistributable provided
by Creative Labs (at http://openal.org/), as that will provide the "router"
OpenAL32.dll that applications talk to, and may provide extra drivers for the
user's hardware. The DLLs provided here will simply add additional devices for
applications to select from. If you do not wish to use the redistributable,
then rename soft_oal.dll to OpenAL32.dll (note: even the 64-bit DLL should be
named OpenAL32.dll). Just be aware this will prevent other system-installed
OpenAL implementations from working.

To use the 32-bit DLL, copy it from the bin\Win32 folder to the folder that
the 32-bit OpenAL32.dll router is installed in.
For 32-bit Windows, the Win32 DLL will typically go into the system32 folder.
For 64-bit Windows, the Win32 DLL will typically go into the SysWOW64 folder.

To use the 64-bit DLL, copy it from the bin\Win64 folder to the folder that
the 64-bit OpenAL32.dll router is installed in.
For 64-bit Windows, this will typically be the system32 folder.

The included openal-info32.exe and openal-info64.exe programs can be used to
tell if the OpenAL Soft DLL is being detected. It should be run from a command
shell, as the program will exit as soon as it's done printing information.

A configuration GUI app is provided in the alsoft-config folder. It is a front-
end to editing %AppData%\alsoft.ini, which can be used to modify certain
behaviors for OpenAL Soft devices.


HRTF data sets are provided for 44.1khz and 48khz playback in the hrtf folder.
They should be copied into %AppData%\openal\hrtf to be seen by OpenAL Soft
devices (note that HRTF must currently be forced in the configuration app to
work).

Have fun!
There's nothing of relevance in that GUI unfortunately.
Last edited by skakruk on Tue May 12, 2015 7:10 am, edited 1 time in total.
User avatar
GreatEmerald
OldUnreal Member
Posts: 5347
Joined: Mon May 21, 2007 2:30 pm

Re: Specify Audio Device in UE2 Games

Post by GreatEmerald »

I've tried that and every other combination of those settings, and it's impossible to get decent sound in Unreal 2 (using Windows 7 at least). It was just as messed up with an X-Fi Titanium HD as it is with any of my non-Creative cards (just in different ways). With the X-Fi, some sounds like footsteps were getting cut short (or in many places absent altogether), positioning was completely wrong, the last played ambient sound would loop during loading screens, etc, etc. It was a total disaster, which contrasts with UT2003/04, in which the X-Fi is the ONLY way to get really good sound (without the X-Fi UT2003/04 is still much better than Unreal 2, but you will get issues like some distortion if you set off multiple loud sounds like shock combos at once).

So with UT2003/04 I get excellect sound with the X-Fi and acceptable sound without it, but with Unreal 2 I get terrible sound with or without the X-Fi. For the record, the X-Fi drivers caused problems on my latest build, so I'm not using it any more.

X-Fi or not, I always install the latest version of OpenAL, not that it helps Unreal 2 at all. Trying to get decent sound from Unreal 2 using official OpenAL 'devices' (Genericsoftware, generichardware or X-Fi) is a lost cause, which is why I want to get it to recognise OpenAL Soft. I've had excellent results using OpenAL Soft in UT3 and Mirror's Edge etc.
Well, I don't know what you're doing wrong, but you're doing something wrong, because I have an X-Fi XtremeGamer and it works flawlessly:

This is on Vista, but it shouldn't matter much. The way I did it, step by step:
  • Install Creative Control Panel
  • Install Unreal II
  • Install the DirectMusic patch (fixes the intro)
  • Install OpenAL (from Creative, not Soft)
  • Set the settings as pointed out above
  • Set the preferred outputs and volumes in Windows and Creative Control Panel
And bam, it works. I also had to modify the maps a bit so they'd have EAX, because only a few of them come with the ZoneSound ZoneInfo properties correctly filled in.
Post Reply

Return to “Unreal2 General Forum”