mirror of
https://git.do.srb2.org/KartKrew/Kart-Public.git
synced 2025-01-13 05:11:01 +00:00
Minor refactor: Handle *sep entirely within S_AdjustSoundParams, instead of having a component partly outside.
This commit is contained in:
parent
64189da28f
commit
91a424a034
1 changed files with 23 additions and 27 deletions
|
@ -580,11 +580,6 @@ void S_StartSoundAtVolume(const void *origin_p, sfxenum_t sfx_id, INT32 volume)
|
||||||
if (listenmobj[i])
|
if (listenmobj[i])
|
||||||
{
|
{
|
||||||
audible = S_AdjustSoundParams(listenmobj[i], origin, &volume, &sep, &pitch, sfx);
|
audible = S_AdjustSoundParams(listenmobj[i], origin, &volume, &sep, &pitch, sfx);
|
||||||
|
|
||||||
if (origin->x == listener[i].x && origin->y == listener[i].y)
|
|
||||||
{
|
|
||||||
sep = NORM_SEP;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!audible)
|
if (!audible)
|
||||||
|
@ -895,11 +890,6 @@ void S_UpdateSounds(void)
|
||||||
&volume, &sep, &pitch,
|
&volume, &sep, &pitch,
|
||||||
c->sfxinfo
|
c->sfxinfo
|
||||||
);
|
);
|
||||||
|
|
||||||
if (origin->x == listener[i].x && origin->y == listener[i].y)
|
|
||||||
{
|
|
||||||
sep = NORM_SEP;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (audible)
|
if (audible)
|
||||||
|
@ -1009,7 +999,6 @@ boolean S_AdjustSoundParams(const mobj_t *listener, const mobj_t *source, INT32
|
||||||
const boolean reverse = (stereoreverse.value ^ encoremode);
|
const boolean reverse = (stereoreverse.value ^ encoremode);
|
||||||
|
|
||||||
fixed_t approx_dist;
|
fixed_t approx_dist;
|
||||||
angle_t angle;
|
|
||||||
|
|
||||||
listener_t listensource;
|
listener_t listensource;
|
||||||
INT32 i;
|
INT32 i;
|
||||||
|
@ -1087,8 +1076,14 @@ boolean S_AdjustSoundParams(const mobj_t *listener, const mobj_t *source, INT32
|
||||||
if (approx_dist > S_CLIPPING_DIST)
|
if (approx_dist > S_CLIPPING_DIST)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
if (source->x == listensource.x && source->y == listensource.y)
|
||||||
|
{
|
||||||
|
*sep = NORM_SEP;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
// angle of source to listener
|
// angle of source to listener
|
||||||
angle = R_PointToAngle2(listensource.x, listensource.y, source->x, source->y);
|
angle_t angle = R_PointToAngle2(listensource.x, listensource.y, source->x, source->y);
|
||||||
|
|
||||||
if (angle > listensource.angle)
|
if (angle > listensource.angle)
|
||||||
angle = angle - listensource.angle;
|
angle = angle - listensource.angle;
|
||||||
|
@ -1110,6 +1105,7 @@ boolean S_AdjustSoundParams(const mobj_t *listener, const mobj_t *source, INT32
|
||||||
// stereo separation
|
// stereo separation
|
||||||
*sep = 128 - (FixedMul(S_STEREO_SWING, FINESINE(angle))>>FRACBITS);
|
*sep = 128 - (FixedMul(S_STEREO_SWING, FINESINE(angle))>>FRACBITS);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// volume calculation
|
// volume calculation
|
||||||
/* not sure if it should be > (no =), but this matches the old behavior */
|
/* not sure if it should be > (no =), but this matches the old behavior */
|
||||||
|
|
Loading…
Reference in a new issue