-
Notifications
You must be signed in to change notification settings - Fork 338
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
Echo of the of SSG shot became much quieter. #575
Comments
How does it sound compared to 1.4.1? In 1.5.3 that is fixed (I clamp the volume before reducing it), so it should sound like in 1.4.1 and older (incl. orig Doom3 with OpenAL backend) again, except for the bug that was fixed by reducing the sounds in the first place (#179), which is still fixed. |
1.4.1 is very bad. |
In my humble opinion, the code written to reduce the volume of the sounds here: ...is both unnecessary and incorrect, because all it does is move the problem to a different volume. Since it multiples the volume by 0.333, all the user has to do is multiple the volume in his config file by 3, or divide by 0.333, in order to counter the changes made and be back at the same problem. I recommend completely restoring the original game code, which includes removing the clamp, so not just removing the 0.333, so the code will be what it was prior to the following: ...and instead, use the following in alsoft.ini: output-limiter = true By default, output-limiter is set to false, which causes the situation where too many loud sounds playing causes some of them to go quiet. Setting it to true completely eliminates this issue. |
I don't have influence on users alsoft.ini/alsoft.conf |
Very well, but perhaps you can make your changes optional so users have the option of doing what I just mentioned (using output-limiter = true instead of the hard-coded volume reduction, which seems to be causing other issues). It is what I opted for with my version of the DOOM 3 engine. |
Yeah, that would be an option |
Are you sure that setting it to true would help? To me it looks like true is the default, and if anything, then setting it to false might help, at least with the problem I fixed with the initial |
Yes it would help. I tested this, and it is counter-intuitive, but false is the default contrary to what the documentation says. You can test this very easily if you set it to false, and run Dhewm3 with s_volume_dB "10"; you will find that when you fire the shotgun at a wall, the shotgun sound is muffled by the bullets hitting the wall, but the moment you set output-limiter = true, the problem goes away. Your fix actually does not fix the problem, as you apply both the clamp and scale before the s_volume_dB, so all the user has to do to "undo your fix" is increase the volume, which he would have to do anyways, since everything is now quieter; the user would increase by 10 dB, since 10 dB is roughly x3, which counters your 0.333. Since the clamp to 1 is before both the 0.333 and s_volume_dB, it doesn't actually clamp to 1, but will affect the way the game sounds feel. I believe this right here is what a lot of users are experiencing. |
that's their problem then, not sure what I should do about it. My goal is for it to sound ok at the default volume, as that's what most people use - and keep in mind that Fact is, doom3's audio is inherently buggy, due to some sounds having a way too loud gain configured that only sounds ok-ish due to being clamped to 1.0 (this is the issue I fix by clamping to 1 before scaling down), so whatever I do, it'll be hard to properly fix the issue in a way that always sounds "good" (if Doom3 even ever sounded good in all those edge-cases that cause trouble now) an doesn't depend on OpenAL hopefully handling too many loud sounds that are played at the same time in a way that doesn't sound too bad, or at least behaves similarly to Creative's old OpenAL implementation, or whatever the benchmark is. (The "proper" way would be editing all sound shaders, basically remixing the game's sound, which I don't really want to do, and I'm not qualified for anyway) |
Well, it is your repo, so you decide what you would like to do, but what I am doing for my DOOM 3 is the following:
Both points are changes outside the engine source code, as I do not consider either to be engine bugs; they are either configuration bugs with OpenAL or map bugs by the developers. |
I'll look into it.. by the way, what project is "your Doom3"? :) |
I have the source code locally, but I original forked from TTimo 12 years ago to work on something widescreen related. I recently went back to working on DOOM 3 with new changes to both the engine and the pk4 files. One of the changes you made that I really liked was the fixes to OpenAL and 296 which I copied over and adapted to my source code. I gave you credit by referencing the Pull Request and or commits involved. So... excellent work to you! |
Your suggestions (together with a menu that allows configuring this and even OpenALs output-limiter) is implemented in https://github.com/DanielGibson/dhewm3/tree/imgui-rebased Can't say that I heard much of a difference with the double shotgun though |
It sure looks like this, but the debug log suggest this is not the case.
This may be a bug, because the included openal-config program also assumes that the output-limiter (Gain Limiter) is enabled by default. You can also override the output-limiter setting in a local alsoft.ini file placed in the dhewm3 directory. i.e. ( had some settings configured in %APPDATA% )
here's the openal debug log (trimmed down)
The best way to hear it is to take 1-2 steps back from the wall. |
In the branch I linked above you can enable and disable the output limiter in dhewm3, with a cvar or by clicking in the new settings menu. It indeed seems to be disabled by default. |
yeah, I just tried to compile the branch with VStudio 2022 but I get these errors:
|
Try again, I just pushed a fix for that :) |
thanks. One thing that I encountered. newer cmake versions set the link flag /SAGESEH. I tried with cmake 3.29.3 link errors:
I use the old libs |
why does it use libz.a, shouldn't it use zlib1.lib? |
good catch. /SAFESEH was always enabled, but CMAKE 3.26.4 CMAKE 3.29.3 UPDATE: UPDATE 2: |
nevermind, I just pushed a commit that removes zlib and uses integrated miniz instead |
You should report that to OpenAL Soft, I'm not involved with that project :) In dhewm3 the three states should be easy enough to tell apart |
Here's a current build for Windows: |
yeah no issues with the output-limiter setting in imgui. One point regarding the imgui, though. the default size is ignored here is my imgui.ini after opening and closing the imgui for first time:
UPDATE: ignore this, I missed the new commits |
OpenAL Soft 1.23.1, Win7 x64 SP1. Dhewm 3 1.5.3.1305.
Subj compare to 1.5.2.1503. Now it sounds unnatural.
The text was updated successfully, but these errors were encountered: