Game Development Community

Is EAX working in TGE 1.5

by Ryan Jaeger · in Technical Issues · 03/09/2008 (11:07 pm) · 2 replies

Let me get this straight as far as how EAX seems to be implemented in 1.5:

1. On the script end you make an AudioSampleEnvironment
datablock AudioSampleEnvironment(SampleEnvironmentNormal) <--
{
   room = 0;
   roomHF = 0;
   airAbsorption = 1.0;
};

2. You assign the environment to an individual sound?
datablock AudioProfile(FootLightSoftSound)
{
   filename    = "~/data/sound/lgtstep_mono_01.ogg";
   description = AudioClosest3d;
   environment = "SampleEnvironmentNormal"; <--
   preload = true;
};

...and then the environment should permanently be effecting the audio profile.
If this is supposed to work this way out of the box (1.5), it doesn't seem to.



The way I assumed environments would work, would have been how they worked in Tribes2... Although obviously all that integration has been ripped out since they used miles system then.

EXAMPLE:
1. You make an AudioEnvironment datablock...
datablock AudioEnvironment(Generic) <--
{
useRoom = true;
room = GENERIC; //Where GENERIC is a set of EAX values defined in the source somewhere.
effectVolume = 0.3;
};

2. The Environment effect level is tied to an AudioDescription datablock...
datablock AudioDescription(Audio2D)
{
   volume = 1.0;
   isLooping = false;
   is3D = false;
   type = $SimAudioType;
   environmentLevel = 1.0; <--
};

3. The Environment effect is specified via the interiors, makes sense right?
new InteriorInstance(House) {
            canSaveDynamicFields = "1";
            internalName = "House";
            position = "1218.68 727.486 77.1709";
            rotation = "0 0 1 148.396";
            scale = "1 1 1";
            interiorFile = "~/data/interiors/folder/dif.dif";
            AudioProfile = "InteriorAmbientLoop";
            AudioEnvironment = "Generic"; <---
            useGLLighting = "0";
            showTerrainInside = "0";
         };

I don't have source access, I'm just trying to figure out the current status of EAX implementation in 1.5 so that I may point my programmer in the right direction...

#1
03/10/2008 (5:44 pm)
I guess it's not implemented "completely" because it's not listed as a feature...

TGE 1.5
Quote:
2D Sound, 3D Sound, Streaming Sound
SFX/Music driver using OpenAL
3D sound support; panning, volume, doppler, cones
Multi-channel prioritized SFX manager
Built-in Theora video codec playback

If anyone has got EAX to work with any of the resources in one way shape or form, Please let me know...
#2
04/29/2008 (3:44 pm)
Hello,

I was checking out FreeSL. It's based on OpenAL with additional features such as EAX and evironmental scripts. I glanced at it but grabbed it earlier as I am interested in adding it to replace OpenAL.

http://www.lukasheise.com/web_res/freesl.html


From the website...
--------------
About
FreeSL (Free Sound Library) is a OpenAL wrapper. It also includes the EAX 2.0 library for realistic audio environment simulations plus occlusion and obstruction.

Features

OpenAL (2D/3D)
EAX 2.0 (can simulate complex sound environments like underwater or caves)
Sound Object Memory Manager
Static Playback WAV and Ogg
Stream Playback Ogg and AVI(PCM)
Zip File Support (can load static sounds and EAX scripts from *.zip packages)

Chris