So, first thing that happens after player loses control, a sound effect is played. The camera is changed to a moving camera in a sector that is a 3D floor made swimmable. I have two Sound Environment things (25 and 26) that I have for turning reverb on and off, just as the REVERB wiki says, and the entire sector is a sound barrier. For some reason, the sound plays with underwater reverb. I want to play the sound normal, and then have the reverb back on for when the floor raises. What am I doing wrong?
EDIT: Also, I've realized that once the camera moves out of the water, reverb is still present... WTF!
There is an option in the sound settings to disable underwater reverb, although it's a user setting and it disables them globally when underwater. I don't think there is another way to disable them on a per sector basis unfortunately but I may be wrong.
Well the wiki says you can disable it by creating a Sound Environment thing with the properties 0,0 and making the sector's linedefs have the sound zone barrier property, which is entirely what I did, but alas... :\
You can make individual sounds play without reverb by playing it on the UI channel, I believe (unless there's a NOREVERB sound flag? internally there is, but I think that's only accessible to the outside by using the UI sound channel, though I could be wrong).
As for why it still sounds like it's underwater despite moving out of it, that seems like a bug. Perhaps the listener state isn't being properly updated with the remote cameras or something. That's dealing with the higher level code I'm not familiar with, unfortunately.