bibendovsky / eaxefx Goto Github PK
View Code? Open in Web Editor NEWOpenAL EAX Extension
License: MIT License
OpenAL EAX Extension
License: MIT License
Здравствуйте. Запускал вашу библиотеку в игре S.T.A.L.K.E.R. Зов Припяти. Работает хорошо, искажений по звуку нет, и нет багов, присущему нативному сталкерскому EAX (которые, возможно, случаются из-за встроенной звуковой карты) - треск при смене EAX зон. Но есть одна проблема. Игра намертво зависат при завершении, и закрывается только через диспетчер задач. Смог костыльно исправить это, заинжектив в вашу библиотеку свою с таким вот хуком.
PMSG pmsg;
pmsg = (PMSG)lParam;
if (code < 0) return CallNextHookEx(hHookQuit, code, wParam, lParam);
else if (pmsg->message == WM_QUIT) TerminateProcess(GetCurrentProcess(), 0x0);
Собственно это помогло, но факт остался. Будут ли попытки пофиксить это?
See #5 for details.
EAX effects in Serious Sam HD (both The First Encounter and The Second Encounter) stopped working since version 1.0.4.
I get this in the log file:
[2021-06-14 15:47:56.640] [EAXEFX] [I]
[2021-06-14 15:47:56.640] [EAXEFX] [I] <<<<<<<<<<<<<<<<<<<<<<<<
[2021-06-14 15:47:56.640] [EAXEFX] [I] EAXEFX v1.0.6
[2021-06-14 15:47:56.640] [EAXEFX] [I] ------------------------
[2021-06-14 15:47:56.640] [EAXEFX] [I]
[2021-06-14 15:47:56.640] [EAXEFX] [I] Load AL driver.
[2021-06-14 15:47:56.640] [EAXEFX] [I] Try to load a driver "eaxefx_driver.dll".
[2021-06-14 15:47:56.640] [EAXEFX] [E] [WIN32_SHARED_LIBRARY] ::LoadLibraryW failed.
[2021-06-14 15:47:56.640] [EAXEFX] [I] Try to load a driver "dsoal-aldrv.dll".
[2021-06-14 15:47:56.641] [EAXEFX] [E] [WIN32_SHARED_LIBRARY] ::LoadLibraryW failed.
[2021-06-14 15:47:56.641] [EAXEFX] [I] Try to load a driver "soft_oal.dll".
[2021-06-14 15:47:56.641] [EAXEFX] [I] Load AL symbols (AL 1.1; ALC 1.1; EFX 1.0).
[2021-06-14 15:47:56.641] [EAXEFX] [I] Create EAXX.
[2021-06-14 15:47:56.664] [EAXEFX] [I] Open device "OpenAL Soft".
[2021-06-14 15:48:00.426] [EAXEFX] [E] EAXSet failed.
[2021-06-14 15:48:00.426] [EAXEFX] [E] [EAXX_CONTEXT] EFX extension not found.
[2021-06-14 15:48:20.624] [EAXEFX] [E] EAXSet failed.
[2021-06-14 15:48:20.624] [EAXEFX] [E] [EAXX] Context not initialized.
[2021-06-14 15:48:20.878] [EAXEFX] [E] EAXSet failed.
[2021-06-14 15:48:20.878] [EAXEFX] [E] [EAXX] Context not initialized.
[2021-06-14 15:48:21.680] [EAXEFX] [E] EAXSet failed.
[2021-06-14 15:48:21.680] [EAXEFX] [E] [EAXX] Context not initialized.
Are the features mentioned in section 6 planned to be supported in the future?
I'm currently playing BioShock and the log is full of warnings regarding speaker levels.
By the way, I really appreciate your work and was very happy when I found your project as a EAX and hifi enthusiast.
Cheers
First of all, thank you for the amazing work you are doing. I opened this "issue", or rather, discussion to understand and allow other people to understand what this change will entail in practice.
What I would like to ask is: implementing EAX extensions in OpenAL Soft means that, in games that use EAX via OpenAL, EAXEFX is no longer needed, right? For DirectSound games, will any changes be needed in DSOAL?
The minimum os requirements state winxp sp3, however in my retro build using winxp sp3 the router provides no enumeration through Alcaps viewer nor does it route to soft_oal or any creative openal dll after a rename. Openal soft works on it's own.
Does this actually work on xp?
Hi,
I'm currently trying your solution on some old games in hopes of comparing it to other solutions but I seem to have some trouble understanding your instructions in comparison to the binary release files.
You write that expected files are
The way its now I get this log:
[2021-04-17 20:22:22.339] [EAXEFX] [I]
[2021-04-17 20:22:22.339] [EAXEFX] [I] <<<<<<<<<<<<<<<<<<<<<<<<
[2021-04-17 20:22:22.339] [EAXEFX] [I] EAXEFX v1.0.3
[2021-04-17 20:22:22.339] [EAXEFX] [I] ------------------------
[2021-04-17 20:22:22.339] [EAXEFX] [I]
[2021-04-17 20:22:22.339] [EAXEFX] [I] Load AL driver.
[2021-04-17 20:22:22.339] [EAXEFX] [I] Try to load a driver "eaxefx_driver.dll".
[2021-04-17 20:22:22.339] [EAXEFX] [E] [WIN32_SHARED_LIBRARY] LoadLibraryW failed.
[2021-04-17 20:22:22.339] [EAXEFX] [I] Try to load a driver "dsoal-aldrv.dll".
[2021-04-17 20:22:22.341] [EAXEFX] [I] Load AL symbols (AL 1.1; ALC 1.1; EFX 1.0).
[2021-04-17 20:22:22.342] [EAXEFX] [I] Create EAXX.
[2021-04-17 20:22:22.364] [EAXEFX] [I] Open device "OpenAL Soft".
[2021-04-17 20:31:39.427] [EAXEFX] [I] Close device.
[2021-04-17 20:31:39.673] [EAXEFX] [I]
[2021-04-17 20:31:39.673] [EAXEFX] [I] >>>>>>>>>>>>>>>>>>>>>>>>
[2021-04-17 20:31:39.673] [EAXEFX] [I]
But It's not doing any effects as far as I can tell (game does detect eax as available).
Здравствуйте! Наткнулся однажды на видео стримера, который проходит Doom 3 и разные модификации к нему. В этом видео он показывает, что у него была ошибка "idSoundCache: error unloading data from OpenAL hardware buffer" в модификации "In Hell". Единственное решение, которое он нашёл, это было быстрое сохранение перед выходом с уровня, быстрая загрузка и последующий выход из уровня. Видео: https://youtu.be/z_u3vxmvi-U. Я посоветовал ему Ваш патчер, и он ему помог. Так же раньше у него вылетал один из уровней основной кампании, патчер так же решил его проблему. К сожалению, при проверке Resurrection of Evil у него всё равно происходит вылет с этой ошибкой: https://youtu.be/F818C9i9b30?t=2895. Он пробовал так же использовать все 4 исправления, но безрезультатно. Что можете сказать по этому поводу? Почему именно в RoE вылеты имеют место быть?
Man, the wrapper IS WORKING! It's awesome!
Unreal 2 can use EAX only through OpenAL "native" interface and NOT DirectSound like UT 2004, so you've solved a 18 years old problem :D (DSOAL has no use here!)
Still there are some little issues! Can you test personally Unreal 2 and hear them by yourself (->footsteps and water sounds in the Severnaya level when you load a savegame on the dam)? The Unreal Anthology package release is already patched (and Steam release too, maybe) to the lastest version!
No issue with an old and glorious Audigy 2 ZS!
But man, you did finally free us from Creative! (X-Fi cards, Titanium apart, do not work correctly with old OpenAL games and the Audigy 2 can't be installed on modern systems).
As previously discussed, Doom 3 suffers from a rather strange issue when turning down the master volume in the game menu.
Some effects or weapons will be louder than others, the volume level of the sounds will be different/wrong than when the master volume is set to 0db (here I think it's explained in a more technical way: dhewm/dhewm3#326 (comment)).
This seems to fix the problem: dhewm/dhewm3@4567f26
HI, I've come across a strange issue. This DLL appears to work to an extent with UT2004.
With the EAXEFX OpenAL32.dll placed into UT2004's System folder and 32bit OpenAL Soft 1.21.1.0 renamed to eaxefx_driver.dll also placed in the UT 2004 System folder along with alsoft.ini the game will recognise EAX 5.0 and use the music and weapon sounds from the SBXF_UTPATCH_US_3369 patch for the game.
HRTF audio appears to be fine but reverb and occlusion are missing, the eaxefx_log.txt will spit out a huge list of the same error until game close.
Here's a shortened version of the log:
[EAXEFX] [I]
[EAXEFX] [I] <<<<<<<<<<<<<<<<<<<<<<<<
[EAXEFX] [I] EAXEFX v1.0.5
[EAXEFX] [I] ------------------------
[EAXEFX] [I]
[EAXEFX] [I] Load AL driver.
[EAXEFX] [I] Try to load a driver "eaxefx_driver.dll".
[EAXEFX] [I] Load AL symbols (AL 1.1; ALC 1.1; EFX 1.0)
[EAXEFX] [I] Create EAXX.
[EAXEFX] [I] Open device "DirectSound3D".
[EAXEFX] [E] EAXGet failed.
[EAXEFX] [E] [EAXX_SOURCE] Property buffer too small.
[EAXEFX] [E] EAXGet failed.
[EAXEFX] [E] [EAXX_SOURCE] Property buffer too small.
[EAXEFX] [E] EAXGet failed.
[EAXEFX] [E] [EAXX_SOURCE] Property buffer too small.
[EAXEFX] [E] EAXGet failed.
[EAXEFX] [E] [EAXX_SOURCE] Property buffer too small.
[EAXEFX] [E] EAXGet failed.
[EAXEFX] [E] [EAXX_SOURCE] Property buffer too small.
[EAXEFX] [I] Close device.
[EAXEFX] [I]
[EAXEFX] [I] >>>>>>>>>>>>>>>>>>>>>>>>
[EAXEFX] [I]
Strange thing is the log will come up as successful while using DSOAL but all the EAX 5.0 related parts of the game (patched music and weapon sounds) won't work, reverb and occlusion doesn't work using this method either.
-Same eaxefx_driver.dll
-Renamed EAXEFX OpenAL32.dll in UT2004 System folder to dsoal-aldrv.dll
-Pasted DSOAL r391 dsound.dll in UT2004 System folder
Here is the log while running with DSOAL:
[EAXEFX] [I]
[EAXEFX] [I] <<<<<<<<<<<<<<<<<<<<<<<<
[EAXEFX] [I] EAXEFX v1.0.5
[EAXEFX] [I] ------------------------
[EAXEFX] [I]
[EAXEFX] [I] Load AL driver.
[EAXEFX] [I] Try to load a driver "eaxefx_driver.dll".
[EAXEFX] [I] Load AL symbols (AL 1.1; ALC 1.1; EFX 1.0).
[EAXEFX] [I] Create EAXX.
[EAXEFX] [I]
[EAXEFX] [I] >>>>>>>>>>>>>>>>>>>>>>>>
[EAXEFX] [I]
I have video footage of both methods in use to show some of what I'm talking about.
https://youtu.be/DBQl4n7uFLg
I thought that it would be nice to add support for rapture (game edition) because from what I heard it has even better sound positioning than openAL soft, so it would be nice if I could have EAX and the best positional audio, here's the compatibility list: http://blueripplesound.com/compatible-games
Could happen inside idSoundSample::PurgeSoundSample
.
May crash the application on transition between levels.
Do I need to install both eaxefx_bin_win32_v1_0_6.zip AND eaxefx_bin_win64_v1_0_6.zip binary files? The original Host OpenAL installs OpenAL32 files in both %systemroot%\system32 and %systemroot%\SysWOW64 folders so I am assuming both eaxefx 32 and 64 bit files need copying, right?
Please correct me if I am wrong. System32 is for 64 bit files and SysWOW64 is for 32 bit files, right? So the OpenAL32.dll from eaxefx_bin_win64_v1_0_6.zip goes in %systemroot%\system32 \ folder
and OpenAL32.dll from eaxefx_bin_win32_v1_0_6.zip goes in %systemroot%\SysWOW64\ folder, right?
Thanks!
Hi,
first let me thank you for your work :)! As you load openalsoft which also works fantastically on linux: Would it be possible to provide precompiled linux library? I'm asking because I want to test if the native UT2004 port, which uses OpenAL, could actually use OpenAL + EAX on linux once your library were provided.
Thanks!
Good Evening. I'm having this weird issue with Doom 3 where I have properly installed EAXEFX and I can turn EAX on...but there doesn't seem to be any reverb in-game.
here is the log from the last time I played if you needed it.
Set EAX default properties, but load EFX null effect in the effect slot.
On first call of EAXGet / EAXSet load EFX EAX-reverb effect.
Hello,
I Drink Lava mentions this issue in the description of the video demonstrating 3D sound in Quake 4: "The one problem with Quake 4 with OpenAL Soft seems to be that it doesn't update sound position fast enough. This is a problem I've had with a couple games, but none that sounded as great as Quake 4. Reducing the period size helps somewhat, but you can still hear it if you do a 180 turn fast enough."
You worked on the occlusion fix, so maybe this is something that could be potentially fixed as well?
Regards
A driver library outside of the current directory could not be found.
Examples:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.