Re: ALAudio for DeusEx - development and links
Posted: Fri May 06, 2016 8:20 am
OpenAL_v2.4.7_DeusEx.7z added. As usual, details on first page.
forums, downloads, community, support and development for Unreal, UnrealTournament and other UnrealEngine 1/2 based games
https://www.oldunreal.com/phpBB3/
Glad to be of serviceThanks for your reply! Makes sense.
yes, I've got a X-Fi myself and I still think it's sad what Creative made out of OpenAL and the hardware acceleration, but then again I see that it doesn't make a real difference anymore on nowadays machines, so things are as they are, I do not intend wasting time or energy worrying about that.I'm actually a big fan of OpenALSoft and try to use it in as many games as I can to reap the benefits of that wonderful HRTF.
But I'm also still in the honeymoon phase with this "new" X-Fi card I got so I also try to ensure that I use all its old-timey features whenever possible (mostly enabling EAX). But I see it's not relevant in this case.
Doing this here for a little while alreadyP.S. You have 3475x more posts than me!
Actually you are the only one who worked on the distance attenuation, might be related to your bSoundAttenuate code. As far as I can tell ALAudio uses a linear distance attentuation model, where a concept like a sound radius can be naturally be implemented and despite that ALAudio should just set *once* AL_REFERENCE_DISTANCE, AL_ROLLOFF_FACTOR and AL_MAX_DISTANCE for a source, probably your calculations are just off, so attenuation doesn't drop to zero at the end of the radius.Now the footsteps, I think what you describe here is the in game engine set radius, after which it definitely drops it and there is not much right now we can do (maybe Han knows a way though).
Code: Select all
//oddawoddawassawarna?
//wassawarnawakumba!
Actually not, it was more like the whole code about volume control is a bit cluttered...Did I piss you off lately or something?
When it comes to singleplayer or local played sounds it would be fesable to have the audio subsystem control the dropoff. However for network a model with a concept like a hard sound radius is easier to handle as one needs some drop off point for a sound anyway. So if the sound should decay over a longer distance, then one should increase the radius in which it would be relevant for network.the engine shouldn't cap this (at the current radius at least) but give the audio renderer the chance doing that itself
openal version 247/ galaxy is work fineLog: ALAudio.ALAudioSubsystem.ALDevices
Log: ALAudio: ALDEVICES found 0:OpenALSoftonCreativeSBXFi
Log: ALAudio: ALDEVICES found 1:OpenALSoftonSPDIFOutCreativeSBXFi
Log: Loading: Package ALAudio
Warning: Failed to load 'ALAudio': Can't find Enum in file 'Enum Engine.ZoneInfo.EAmbients'
Warning: Failed to load 'Class ALAudio.ALAudioSubsystem': Can't find Enum in file 'Enum Engine.ZoneInfo.EAmbients'
Warning: Can't find Enum in file 'Enum Engine.ZoneInfo.EAmbients'
Code: Select all
DevMusic: WaitForThread failed with No such file or directory (Errorcode 2)!
Code: Select all
Log: Log file open, 11/25/16 21:49:44
Init: Name subsystem initialized
Init: Detected: Microsoft Windows NT 6.1 (Build: 7601)
Init: Version: 1100
Init: Compiled: Jan 29 2001 16:45:52
Init: Command line:
Init: Base directory: E:\games\DeusExGOTY\System\
Init: Character set: Unicode
Log: Bound to Editor.dll
Log: Bound to Core.dll
Log: Bound to Engine.dll
Log: Bound to Window.dll
Init: Object subsystem initialized
Log: Cd Path: ..\
Init: Computer: SHOGGOTH
Init: User: YogSothoth
Init: Memory total: Phys=4194303K Pagef=4194303K Virt=4194176K
Init: Working set: 32000 / 159000
Init: CPU Speed=3013.936065 MHz
Init: CPU Page size=4096, Processors=4
Init: CPU Detected: Unknown processor (AuthenticAMD)
Init: CPU Features: CMov FPU RDTSC PAE MMX KNI 3DNow!
Launch: Compiled: Nov 13 2015 00:08:03
Launch: Timer: Time Stamp Counter
Launch: Allocator: Windows
Launch: DEP: Policy is 0:0
Log: Bound to DeusEx.dll
Log: Bound to Extension.dll
Log: Bound to ConSys.dll
Log: Loading: Package DeusEx
Log: Loading: Package Core
Log: Loading: Package Engine
Log: Loading: Package Extension
Log: Loading: Package DeusExCharacters
Log: Loading: Package DeusExUI
Log: Loading: Package DeusExItems
Log: Loading: Package Effects
Log: Bound to Fire.dll
Log: Loading: Package Fire
Log: Loading: Package ConSys
Log: Loading: Package DeusExSounds
Log: Loading: Package DeusExDeco
Log: Loading: Package UBrowser
Log: Loading: Package UWindow
Log: Bound to IpDrv.dll
Log: Loading: Package IpDrv
Log: Bound to DeusExText.dll
Log: Loading: Package DeusExText
Log: Loading: Package Ambient
Log: Loading: Package MoverSFX
Log: Loading: Package IpServer
Init: Unreal engine initialized
Log: Bound to WinDrv.dll
Init: Mouse info: 0 0 65536
Init: Initializing DirectDraw
Log: DirectDraw drivers:
Log: display ([ch1055][ch1077][ch1088][ch1074][ch1080][ch1095][ch1085][ch1099][ch1081] [ch1074][ch1080][ch1076][ch1077][ch1086][ch1076][ch1088][ch1072][ch1081][ch1074][ch1077][ch1088])
Init: DirectDraw initialized successfully
Init: Client initialized
Log: Bound to Render.dll
Log: Loading: Package Render
Init: Lighting subsystem initialized
Init: Rendering initialized
Log: LoadMap: entry.dx
Log: Loading: Package Entry
Log: Loading: Package Title_Music
Log: Game class is 'DeusExGameInfo'
Log: Bringing Level Entry.MyLevel up for play (0)...
ScriptLog: InitGame:
ScriptLog: Base Mutator is Entry.Mutator0
Log: Browse: DX.dx?Name=Player?Class=DeusEx.JCDentonMale
Log: Doing load, not loadgame
Log: Current mission number is -1, next is -1
Log: LoadMap: DX.dx?Name=Player?Class=DeusEx.JCDentonMale
Log: Loading: Package DX
Log: Collecting garbage
Log: Purging garbage
Log: Unloading: Package Render
Log: Garbage: objects: 33684->33683; refs: 373195
Log: Game class is 'DeusExGameInfo'
Log: Bringing Level DX.MyLevel up for play (0)...
ScriptLog: InitGame: ?Name=Player?Class=DeusEx.JCDentonMale
ScriptLog: Base Mutator is DX.Mutator1
Init: Initialized moving brush tracker for Level DX.MyLevel
ScriptLog: Login: Player
Init: *** DEUS EX VERSION Mon Mar 19 12:06:14 2001 v1.112fm ***
Log: Possessed PlayerPawn: JCDentonMale DX.JCDentonMale0
ScriptLog: All inventory from Player is accepted
Init: Input system initialized for WindowsViewport0
Log: Opened viewport
Log: Bound to D3D9Drv.dll
Log: Initializing D3D9Drv...
Log: Enter SetRes()
Log: D3D adapter driver : nvd3dum.dll
Log: D3D adapter description : NVIDIA GeForce GTX 750 Ti
Log: D3D adapter id : 0x10DE:0x1380
Init: Depth bits: 24
Log: 8 Texture Mapping Units found
Log: MaxAnisotropy = 16
Log: MinLogTextureSize = 2
Log: MaxLogTextureSize = 8
Log: UseDetailAlpha = 1
Log: Bound to ALAudio.dll
Log: ALAudio.ALAudioSubsystem.ALDevices
Log: ALAudio: ALDEVICES found 0:OpenALSoftonRealtekHighDefinitionAudio
Log: ALAudio: ALDEVICES found 1:OpenALSoftonRealtekDigitalOutputRealtekHighDefinitionAudio
Init: ALAudio: Trying to autodetect HRTF. Note: Autodetection may only work with USB headphones.
Init: ALAudio: Selected ALDevice 0, OutputRateNum 5(44100 Hz) SampleRateNum 5 (44100 Hz)
DevAudio: ALAudio: Trying to use default device
Init: ALAudio: We are using OpenAL device: OpenAL Soft
Init: ALAudio: Can't set OutputRate of 44100, using system (OS) defaults of 48000.
Some backends don't support setting custom rates for specific applications (MMDevAPI or ALSA without dmix).
In this case setting something higher than what the system is outputting is unnecessary since it's just going to be downsampled for output anyway,
and setting it lower is just going to make it get upsampled after OpenAL Soft has already applied its filters and effects.
Adjust your system settings instead.
Init: ALAudio: Audio hardware supports 255 mono (usually sound) and 1 stereo (usually music) sources.
Init: ALAudio: auto matched SampleRate (48000 Hz) to OutputRate (48000 Hz).
Init: ALAudio: HRTF is disabled.
DevAudio: ALAudio: Initialized with rate 48000
DevAudio: ALAudio: Using OutputRate of 48000 Hz for audio output
DevAudio: ALAudio: Using SampleRate of 48000 Hz for libxmp
Init: OpenALSoft extensions found.
Init: OpenAL Effects extension version 1.0 found.
Init: ALAudio: EFX initialized.
DevAudio: Successfully loaded OpenAL Effects Extension functions.
Init: ALAudio: Version 1.1 ALSOFT 1.17.2 found
Init: ALAudio subsystem initialized.
Init: Game engine initialized
Log: Startup time: 0.982071 seconds
DevMusic: ALAudio: Transiting to Title_Music, SongSection 0 with MTRAN 3
DevMusic: RegisterMusic Title_Music
Log: ALAudio: playing Title_Music Deus Ex (Impulse Tracker 2.14v5 IT 1.00)
Log: Loading: Package DXFonts
Log: Assigning Last Button Window to MenuUIMenuButtonWindow DX.JCDentonMale0.DeusExRootWindow0.MenuMain0.MenuUIClientWindow0.MenuUIMenuButtonWindow2
Log: Assigning Last Button Window to MenuUIListWindow DX.JCDentonMale0.DeusExRootWindow0.MenuScreenLoadGame0.MenuUIClientWindow1.MenuUIScrollAreaWindow0.ClipWindow0.MenuUIListWindow0
Log: Assigning Last Button Window to MenuUIActionButtonWindow DX.JCDentonMale0.DeusExRootWindow0.MenuScreenLoadGame0.MenuUIActionButtonBarWindow0.MenuUIActionButtonWindow1
Log: Tried to remove lastbuttonwindow descendant. MenuUIActionButtonWindow DX.JCDentonMale0.DeusExRootWindow0.MenuScreenLoadGame0.MenuUIActionButtonBarWindow0.MenuUIActionButtonWindow1
Log: URL: Adding default option Name=Player
Log: URL: Adding default option Class=DeusEx.JCDentonMale
Log: Browse: Index.dx?loadgame=8?Name=Player?Class=DeusEx.JCDentonMale
Log: Doing loadgame, not load
Log: Loading: Package saveInfo
Log: Unloading: Package DX
Log: URL: Adding default option Name=Player
Log: URL: Adding default option Class=DeusEx.JCDentonMale
Log: LoadMap: ..\Save\Current\02_NYC_Street.dxs?load?loadonly?loadgame?Name=Player?Class=DeusEx.JCDentonMale
DevMusic: ALAudio: Unregister music: Music Title_Music.Title_Music
Log: Loading: Package 02_NYC_Street
Log: Loading: Package NewYorkCity
Log: Loading: Package CoreTexDetail
Log: Loading: Package CoreTexMetal
Log: Loading: Package UNATCO
Log: Loading: Package CoreTexWood
Log: Loading: Package Supertanker
Log: Loading: Package NYCBar
Log: Loading: Package CoreTexMisc
Log: Loading: Package FreeClinic
Log: Loading: Package CoreTexGlass
Log: Loading: Package BatteryPark
Log: Loading: Package Airfield
Log: Loading: Package CoreTexConcrete
Log: Loading: Package CoreTexFoliage
Log: Loading: Package Dockyard
Log: Loading: Package CoreTexTextile
Log: Loading: Package NYCStreets_Music
Log: Loading: Package CoreTexSky
Init: Shut down moving brush tracker for Level DX.MyLevel
Log: Collecting garbage
Log: Purging garbage
Log: Unloading: Package DXFonts
Log: Unloading: Package saveInfo
Log: Garbage: objects: 37582->37358; refs: 547557
Log: Loading: Package DeusExConText
Log: Spawning new actor for Viewport WindowsViewport0
ScriptLog: Login: Player
Log: Possessed PlayerPawn: JCDentonMale 02_NYC_Street.JCDentonMale3
ScriptLog: All inventory from Player is accepted
ScriptLog: DeusExLevelInfo - Spawned new mission script 'DeusEx.Mission02'
Init: Initialized moving brush tracker for Level 02_NYC_Street.MyLevel
DevMusic: ALAudio: Transiting to NYCStreets_Music, SongSection 0 with MTRAN 3
DevMusic: RegisterMusic NYCStreets_Music
Log: ALAudio: playing NYCStreets_Music NYC Streets (Impulse Tracker 2.14v5 IT 1.00)
ScriptLog: **** InitStateMachine() - 02_NYC_Street.JCDentonMale3 started mission state machine for 02_NYC_STREET
Log: Assigning Last Button Window to PersonaNavButtonWindow 02_NYC_Street.JCDentonMale3.DeusExRootWindow1.PersonaScreenInventory0.PersonaNavBarWindow0.PersonaButtonBarWindow0.PersonaNavButtonWindow2
Log: Tried to remove lastbuttonwindow descendant. PersonaNavButtonWindow 02_NYC_Street.JCDentonMale3.DeusExRootWindow1.PersonaScreenInventory0.PersonaNavBarWindow0.PersonaButtonBarWindow0.PersonaNavButtonWindow2
Log: Assigning Last Button Window to PersonaNavButtonWindow 02_NYC_Street.JCDentonMale3.DeusExRootWindow1.PersonaScreenConversations0.PersonaNavBarWindow1.PersonaButtonBarWindow3.PersonaNavButtonWindow10
Log: Tried to remove lastbuttonwindow descendant. PersonaNavButtonWindow 02_NYC_Street.JCDentonMale3.DeusExRootWindow1.PersonaScreenConversations0.PersonaNavBarWindow1.PersonaButtonBarWindow3.PersonaNavButtonWindow10
Log: Assigning Last Button Window to PersonaNavButtonWindow 02_NYC_Street.JCDentonMale3.DeusExRootWindow1.PersonaScreenImages0.PersonaNavBarWindow2.PersonaButtonBarWindow6.PersonaNavButtonWindow18
Log: Tried to remove lastbuttonwindow descendant. PersonaNavButtonWindow 02_NYC_Street.JCDentonMale3.DeusExRootWindow1.PersonaScreenImages0.PersonaNavBarWindow2.PersonaButtonBarWindow6.PersonaNavButtonWindow18
Log: Export travel for: Player
Log: Browse: 02_NYC_Bar?Name=Player?Class=DeusEx.JCDentonMale#ToBarFrontEntrance
Log: Doing load, not loadgame
Log: Current mission number is 2, next is 2
Log: Attempting to get player
Init: Shut down moving brush tracker for Level 02_NYC_Street.MyLevel
Log: Unloading: Package 02_NYC_Street
Log: Save=321.923752
Log: Moving '..\Save\Current\Save.tmp' to '..\Save\Current\02_NYC_Street.dxs'
Init: Initialized moving brush tracker for Level 02_NYC_Street.MyLevel
Log: LoadMap: 02_NYC_Bar?Name=Player?Class=DeusEx.JCDentonMale#ToBarFrontEntrance
DevMusic: ALAudio: Unregister music: Music NYCStreets_Music.NYCStreets_Music
Log: Loading: Package 02_NYC_Bar
Log: Loading: Package NYCBar2_Music
Init: Shut down moving brush tracker for Level 02_NYC_Street.MyLevel
Log: Collecting garbage
Log: Purging garbage
Log: Unloading: Package CoreTexMetal
Log: Unloading: Package Dockyard
Log: Unloading: Package NYCStreets_Music
Log: Unloading: Package Airfield
Log: Unloading: Package CoreTexTextile
Log: Unloading: Package CoreTexConcrete
Log: Unloading: Package Supertanker
Log: Unloading: Package CoreTexSky
Log: Unloading: Package CoreTexFoliage
Log: Unloading: Package BatteryPark
Log: Unloading: Package DeusExConText
Log: Garbage: objects: 49442->35062; refs: 411292
Log: Game class is 'DeusExGameInfo'
Log: Bringing Level 02_NYC_Bar.MyLevel up for play (0)...
ScriptLog: InitGame: ?Name=Player?Class=DeusEx.JCDentonMale
ScriptLog: Base Mutator is 02_NYC_Bar.Mutator2
ScriptLog: DeusExLevelInfo - Spawned new mission script 'DeusEx.Mission02'
Log: Loading: Package DeusExConText
Log: Spawning new actor for Viewport WindowsViewport0
ScriptLog: Login: Player
Log: Possessed PlayerPawn: JCDentonMale 02_NYC_Bar.JCDentonMale1
ScriptLog: All inventory from Player is accepted
Init: Initialized moving brush tracker for Level 02_NYC_Bar.MyLevel
DevMusic: ALAudio: Transiting to NYCBar2_Music, SongSection 0 with MTRAN 3
DevMusic: RegisterMusic NYCBar2_Music
Log: ALAudio: playing NYCBar2_Music NYC Bar 2 (Impulse Tracker 2.14v5 IT 1.00)
ScriptLog: **** InitStateMachine() - 02_NYC_Bar.JCDentonMale1 started mission state machine for 02_NYC_BAR
Log: Loading: Package DeusExConAudioMission02
DevMusic: ALAudio: Transiting to NYCBar2_Music, SongSection 4 with MTRAN 3
DevMusic: ALAudio: Unregister music: Music NYCBar2_Music.NYCBar2_Music
DevMusic: RegisterMusic NYCBar2_Music
Log: ALAudio: playing NYCBar2_Music NYC Bar 2 (Impulse Tracker 2.14v5 IT 1.00)
Warning: ALAudio: xmp_play_buffer error
Log: ALAudio: Flushing channels
DevMusic: ALAudio: Unregister music: Music NYCBar2_Music.NYCBar2_Music
DevMusic: WaitForThread failed with Bad file descriptor (Errorcode 9)!
Critical: UALAudioSubsystem::Flush
Critical: UALAudioSubsystem::StartMusic
Critical: UALAudioSubsystem::Update
Critical: UGameEngine::Draw
Critical: UWindowsViewport::Repaint
Critical: UWindowsClient::Tick
Critical: ClientTick
Critical: UGameEngine::Tick
Critical: XGameEngineExt::Tick
Critical: UpdateWorld
Critical: LaunchMainLoop
Exit: Executing UObject::StaticShutdownAfterError
Exit: Executing UWindowsClient::ShutdownAfterError
Exit: ALAudio: libxmp subsystem shut down.
Exit: UALAudioSubsystem::ShutdownAfterError
Log: DirectDraw End Mode
Exit: UD3D9RenderDevice::ShutdownAfterError
Exit: Exiting.
Uninitialized: Name subsystem shut down
Uninitialized: Log file closed, 11/25/16 21:51:02
Corrupt file/filesystem/disk?Log: ALAudio: playing NYCBar2_Music NYC Bar 2 (Impulse Tracker 2.14v5 IT 1.00)
Warning: ALAudio: xmp_play_buffer error
Log: ALAudio: Flushing channels
DevMusic: ALAudio: Unregister music: Music NYCBar2_Music.NYCBar2_Music
DevMusic: WaitForThread failed with Bad file descriptor (Errorcode 9)!
My best guess is that is is related to a music transition gets scheduled while another transition is currently running.Perhaps whatever is invalid here is plain caught in Galaxy (or not called). I will verify that.
Code: Select all
Critical: appError called:
Critical: Assertion failed: sizeof(PlayingSounds)