When a projectile explodes outside terrain view distance no sound is produced (object view distance doesn't affect this at all). Current dev.
For example, this will not produce a sound (object view distance there to show that has no effect).
Place the player char somewhere you can see past 400m. Example is extreme just to demo it better (you can also see the exploding shell flash)
[] spawn { private _foo = viewdistance; private _faa = getObjectViewDistance; sleep 2; setViewDistance 400; setObjectViewDistance [200, 0]; private _proj = "Sh_125mm_HE" createVehicle ((player getPos [420, getDir player]) vectorAdd [0,0,100]); _proj setvelocity [0,0,-100]; _proj addEventHandler ["Explode", {hint "boom"}]; sleep 5; setViewDistance _foo; setObjectViewDistance _faa; };
However, either change the creation pos closer or extend terrain view distance and sound is now heard:
[] spawn { private _foo = viewdistance; private _faa = getObjectViewDistance; sleep 2; setViewDistance 420; setObjectViewDistance [200, 0]; private _proj = "Sh_125mm_HE" createVehicle ((player getPos [420, getDir player]) vectorAdd [0,0,100]); _proj setvelocity [0,0,-100]; _proj addEventHandler ["Explode", {hint "boom"}]; sleep 5; setViewDistance _foo; setObjectViewDistance _faa; };
You can also fire with say a Scorcher beyond terrain view distance and no explosion is heard, aim closer inside the terrain view distance and sound is audible.
If a weapon is fired outside terrain view distance it is audible, however if the fired projectile hits outside terrain view distance it is not audible..
Same as above but place a scorcher more than 400m away, facing away from the player (and name it gunny). Firing sound is heard, but no hit explosion sound:
[] spawn { private _foo = viewdistance; private _faa = getObjectViewDistance; sleep 2; setViewDistance 400; setObjectViewDistance [200, 0]; sleep 1; gunny addEventHandler ["fired", {hint "fired"; gunny removeEventHandler [_thisEvent, _thisEventHandler]}]; (gunner gunny) forceWeaponFire [currentWeapon gunny, currentWeaponMode (gunner gunny)]; sleep 7; setViewDistance _foo; setObjectViewDistance _faa; };
Turn the vehicle so that it fires in a position inside the terrain view distance and explosion sound is now also heard..
This pretty much guarantees that sounds that are supposed to be heard from very far way are inaudible to some, it also breaks far away sound mixing because view distance may cut off the sound in mid volume curve etc, making end user blame the sound guy for sucking at making sounds.