-
Notifications
You must be signed in to change notification settings - Fork 51
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Red Faction 1 - mono sound #18
Comments
Which functions are those? From the DSOAL log, it seems to be using plain old DSound, not DSound3D. There's no apparent attempt to test for hardware capabilities or to use EAX, and sound positioning is done with As far as the sounds being mono, it may be worthwhile to expand the panning width, but that won't fix the underlying issue of it not using hardware. |
The functions are these: https://github.com/pachuco/dsoal/blob/master/bypass.c Also, I am a dum-dum and forgot to enable EAX in options when recording logs. Enabling it doesn't improve stereo image, nor enable echo effects in starting mine level(maybe fails for previous reason?). |
I've re-recorded above logs with EAX enabled this time. DSBufferProp_QuerySupport(DSPROPSETID_VoiceManager) is checked for. |
I've adjusted panning power as such: pachuco@f0041ed What remains now is DSPROPSETID_VoiceManager and whatever else the game may check for after it is implemented. |
#19 "DS8_CreateSoundBuffer Requested 3D algorithm GUID: {00000000-0000-0000-0000-000000000000}" So the game now does 3d DSound calls, but seems to mix them with regular DirectSound SetVolume and SetPan. |
It seems to set the listener position/orientation regularly with movement, but all the sound buffers are set to Oddly it uses |
I know a lot of game internals (I'm developer of Dash Faction modification for Red Faction) and I can ensure you that the game never really uses 3D simulation provided by DirectSound. It calculates panning and uses
|
This change allows using SetPan API for buffers with DSBCAPS_CTRL3D flag when DS3DMODE_DISABLE mode is active. Fixes panning in Red Faction if EAX is enabled. Partially fixes kcat#18
https://youtu.be/v2QNGPwS2X8 DSOAL XP with hrtf and EAX |
Yesterday I decided to try this game with the latest DSOAL and to my great surprise, both EAX and 3D audio seem to be finally working! Thanks to @rafalh and his great work fixing audio in Dash Faction. |
Of note that you might or might not have noticed, |
In Red Faction 1, all sounds except music will be mono and come from inside head.
That is, only distance volume attenuation is done, with no panning. Enabling hrtf makes things worse.
For test, I've used SoftOAL 39f4ea6 and my own XP DSOAL fork. The fork should function about the same(though, some functions have been redirected to real DirectSound and will not log), but I had friend check on his win10 PC to be sure.
Video recordings courtesy of 3DJ:
https://streamable.com/zpuouq DSOAL with hrtf and EAX
https://streamable.com/8409wb real DirectSound without EAX
I've also attached logs of me running RF1 with XP DSOAL, as well as batch used to run game.
I've kept interactions with game few. Start game directly in level, walk forward, pick remote charges, turn 90 right, throw charge and watch it stick, turn left 90, detonate, quit via console.
RedFaction_logs.zip
The text was updated successfully, but these errors were encountered: