110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
static void
updatechanvol(int chan, const OFVector3D *loc)
{
int vol = soundvol, pan = 255 / 2;
if (loc) {
OFVector3D origin = player1.origin;
float dist = OFDistanceOfVectors3D(*loc, origin);
OFVector3D v = OFSubtractVectors3D(*loc, origin);
// simple mono distance attenuation
vol -= (int)(dist * 3 * soundvol / 255);
if (stereo && (v.x != 0 || v.y != 0)) {
// relative angle of sound along X-Y axis
float yaw =
|
|
|
|
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
static void
updatechanvol(int chan, const OFVector3D *loc)
{
int vol = soundvol, pan = 255 / 2;
if (loc) {
OFVector3D origin = player1.origin;
float dist = OFDistanceOfVectors3D(origin, *loc);
OFVector3D v = OFSubtractVectors3D(origin, *loc);
// simple mono distance attenuation
vol -= (int)(dist * 3 * soundvol / 255);
if (stereo && (v.x != 0 || v.y != 0)) {
// relative angle of sound along X-Y axis
float yaw =
|