libTAS icon indicating copy to clipboard operation
libTAS copied to clipboard

Various Unsupported OpenAL Operations In Arma CWA

Open CasualPokePlayer opened this issue 9 months ago • 2 comments

(operation numbers replaced with defines for convenience) (there might be more I'm missing here)

[libTAS f:112] Thread 25221 (main) alListenerfv call.
[libTAS f:112] Thread 25221 (main) Operation not supported: AL_POSITION

[libTAS f:112] Thread 25221 (main) alListenerfv call.
[libTAS f:112] Thread 25221 (main)    Set Orientation to: 0.555637, -0.546671, -0.626434, 0.362753, 0.837348, -0.408974
[libTAS f:112] Thread 25221 (main) Operation not supported: AL_ORIENTATION

[libTAS f:112] Thread 25221 (main) alSourcei called with source 1
[libTAS f:112] Thread 25221 (main) Operation not supported: AL_SOURCE_RELATIVE

[libTAS f:112] Thread 25221 (main) alSourcef called with source 1
[libTAS f:112] Thread 25221 (main) Operation not supported: AL_CONE_OUTER_GAIN

[libTAS f:114] Thread 25221 (main) alListenerfv call.
[libTAS f:114] Thread 25221 (main) Operation not supported: AL_VELOCITY

[libTAS f:354] Thread 25221 (main) alSourcefv called with source 5
[libTAS f:354] Thread 25221 (main) Setting position not supported

[libTAS f:354] Thread 25221 (main) alSourcef called with source 5
[libTAS f:354] Thread 25221 (main)   Unknown param AL_VELOCITY

[libTAS f:354] Thread 25221 (main) alSourcef called with source 5
[libTAS f:354] Thread 25221 (main)   Set reference distance to 43.572235. Operation not supported

[libTAS f:355] Thread 25221 (main) alSourcef called with source 19
[libTAS f:355] Thread 25221 (main) Operation not supported: AL_MAX_DISTANCE

Audio currently sounds very wrong, with many things sounding way too loud. The game would seem to be relying on OpenAL to make far away objects be quiet or silent.

CasualPokePlayer avatar Oct 06 '23 08:10 CasualPokePlayer

I would wonder if the effort in getting all these OpenAL effects is worth it. Would it be better if OpenAL is forced to use ALSA or SDL2 internally, which case it can do all its audio processing itself and all libTAS has to care about is OpenAL using ALSA/SDL2 internally?

CasualPokePlayer avatar Oct 06 '23 11:10 CasualPokePlayer

Seems like overriding what OpenAL will try to use is possible with the ALSOFT_DRIVERS environment variable: https://github.com/kcat/openal-soft/blob/3ccde151c609ba8fed59f07277ca5c719b2b92fc/docs/env-vars.txt#L26

CasualPokePlayer avatar Oct 06 '23 11:10 CasualPokePlayer