Realistic sound engine
This is a plugin idea, which propably will be cpu intensive. Purpose of this plugin is to simulate real sound waves and block hearing through walls.
Plugin will replace short sound messages of gunfire, explosions etc. with delayed artificial ones in realistic locations by a use of waypoint system that uses ~128x128x128 blocks that can't travel trough solid(can travel trough sky though, if thats the shortest route), but can pass to another point based on blocks center or any of the blocks corners.
If old sound message doesn't see the player, the plugin will set a path through waypoints and if it "sees" a player it will fire a new sound message on current location(with a delay).
Plugin will monitor each player's ping and decrease the delay of firing particular sound message to the player. Any replaced sound message will be delayed accordingly to speed of sound(with a ping compensation).
Since footstep sounds are clientside, a new footstep engine should be written(which I did few years ago), for the plugin to work properly with footsteps.
Also the sounds of gunfire etc. should have decreased attenuation, they are propably ATTN_NORM, and the value should be something like 0.25. This will will dramatically increase the distance of which this sounds can be heard - tried it, it's awesome.
Volume of the new sound message will be set based on waypoint distance between old message and new message.
All affected sounds will be configured via an .ini, so the plugin will not be mod dependant, but it's mainly for cstrike.
343m/s - speed of sound = 13503.94inch/s ~game units/s
I'm not advanced enough to write the waypoint system. Anyone wanna help on this ?
This plugin should propably have the waypoint system calculated offline, like VIS in bsp's.
Anyway that's first thought how to do this. Maybe you have a better and faster idea?