(due to alut changes -- im asking for comments again -- if no problems -- ill try and submit) ------
Very cool audio worked for you as well... I too noticed the stereo effects in ut2004 and was taken aback -- first it was like -- its only on the right -- the the sound zipped over (never heard it like that before) good thing i had my airsick-bag handy.
-- Ok those build failures are not totally unexpected -- depending on yer impl of openal -- they may have broken binary compat (i would 'nm' (list exported symbols of) your openal lib) and look for alut*. Very surprising that those functions are missing thou -- they are supposed to be there...
freealut will fix the binary compat issues -- so its not the biggest problem -- what i could do is be safer with alut and have the configure test for each alut function that SHOULD be in the openal lib.
OR better yet I can just IMPL the lame (OLD DEPRECATED) alut functions on top of openal inside openal32.dll -- this is probably the most portable and best solution... (I would just copy the impl from freealut) Looking at freealut... It is doable -- but it quite a bit of extra code...
OR I can drop alut support altogether
so the possibilities... 1 - require freealut 2 - impl alut functions on openal (using freealut code 5 functions -> 7 files) 3 - stub alut -- then use freealut to impl these (never used dead deprecated) functions 4 - remove alut
I have choosen 3 -- attaching my patch with those changes in (and removed some meaningless comments)
These stubs will FIXME -- if hit.
The stubbing is controlled with 'USE_BUILTIN_ALUT' in openal.c
--- btw if you dont have openal it will still build -- but spew at you if it is used -- that openal is not supported...
- Nick
From: Stefan Dösinger stefandoesinger@gmx.at To: wine-devel@winehq.org CC: Nick Burns adger44@hotmail.com Subject: Re: RFC: OpenAL Winmm driver and OpenAL32.dll thunk was Re:OpenALand DirectSound Date: Thu, 23 Nov 2006 21:56:52 +0100
Am Mittwoch 22 November 2006 11:44 schrieb Nick Burns:
Good luck And may the Sound be with you...
Ok, after cleaning up the d3d mess in my tree a bit I gave your patch a try:
It applied fine, found AL/al.h after creating configure with autoconf, but compilation failed in dlls/openal:
openal.o: In function `wine_alutLoadWAVMemory': /usr/src/wine/dlls/openal32/openal.c:327: undefined reference to `alutLoadWAVMemory' openal.o: In function `wine_alutLoadWAVFile': /usr/src/wine/dlls/openal32/openal.c:327: undefined reference to `alutLoadWAVFile' openal.o: In function `wine_alutUnloadWAV': /usr/src/wine/dlls/openal32/openal.c:326: undefined reference to `alutUnloadWAV' openal.o: In function `wine_alutExit': /usr/src/wine/dlls/openal32/openal.c:326: undefined reference to `alutExit' openal.o: In function `wine_alutInit': /usr/src/wine/dlls/openal32/openal.c:326: undefined reference to `alutInit' collect2: ld returned 1 exit status winegcc: gcc failed.
turned out that I needed the freealut package(gentoo). Stangely wine didn't link against that lib automatically, I had to specify -lalut manually.
Once the thing was compiled it worked perfectly with Jedi Academy :-) . Wine loaded openal32.dll builtin, and I had sound although I had no sound driver selected in winecfg, which shows that the whole api rollercoaster is bypassed. I had to configure the game to use openal first.
The sound appeared strange at first, but after using headphones instead of my broken notebook speakers it turned out that those were just stereo effects I never heard before :-) . I also used to wonder what that promiently marked "EAX Sound" option was that used to crash wine: Apparently exactly that openal option I enabled first in the config files :-)
/me joins the dark side of the sound
Great job! Stefan