PSX-style reverb
The Playstation 1 version of Doom applied reverb to the sound effects whenever the player was not in a sector with F_SKY1 as a floor and/or ceiling texture. The exact amount and type of reverb would need to be researched, though Quasar might know, or at least be able to investigate, as he's reverse engineered the PSX version down to the assembly code.
This is an interesting idea. Never having played PS1 DOOM, I'll have to check out some YouTube vids to see how it sounds.
This would definitely be a nice little extra.
Did anyone ever figure this out?
Eternity Engine has some PSX reverb routines, perhaps those would be ideal to take a gander at.
Eternity Engine has some PSX reverb routines, perhaps those would be ideal to take a gander at.
It looks like it will require quite a bit to get such a feature working on SDL_mixer. I'll check out how the feature actually sounds in Eternity, but this is not a priority at the moment.
https://github.com/kode54/foo_dsp_prvb not sure if this is any use/better?
https://github.com/kode54/foo_dsp_prvb not sure if this is any use/better?
No, not really. But thanks. If there's an implementation in SDL_mixer floating around, I'll give it a go, but I haven't found one. What I'm waiting on is SDL_mixer's implementation of Mix_SetReverb(). At the moment it's commented out in SDL_mixer.h because:
/*
* !!! FIXME : Haven't implemented, since the effect goes past the
* end of the sound buffer. Will have to think about this.
* --ryan.
*/
Once this is in, it should be pretty straightforward. But don't hold your breath, as SDL releases (and especially SDL_mixer releases) are few and far between.
That comment has been there for years :( Also I don't think that reverb will be on par with the one that the PSX SPU generates. Turns out there are not many decent free reverb algorithms - but the foobar plugin that emulates the PSX SPU should probably have the "best" sounding reverb.
For something I'm working on I'll be trying to get the foobar one integrated in to SDL so I'll ping back if you wanna try that when its working (?).
Yes please, that would be great.
I'm not sure the reverb would be easy to add, as in the PSX version the WADs will surely contain extra tags in areas to define what reverb for the sound-chip to apply? As PC WADs will never be built with such tags, as it's never been a thing in ports outside of the PSX, Saturn (I think?) and N64, all you could do is make guesses based on whether the player was indoors, and if so how big the room was.
Other PSX effects, such as lighting in a room, or making the entire facia of one of the coloured key doors match the colour of the key needed to open it, would likely be possible though, as then you could simply say "if a room mostly contains a nukage pool, apply a green tint", "if it's a small room with a Supercharge, apply a blue tint", "for this red-key door, tint the entire door texture red"