Less obnoxious sound when using multiple boosters

This commit is contained in:
Sally Coolatta 2020-06-05 14:52:37 -04:00
parent 05ad424cac
commit 820d1f3ac6
2 changed files with 20 additions and 2 deletions

View file

@ -3905,7 +3905,20 @@ void K_DoSneaker(player_t *player, INT32 type)
if (!player->kartstuff[k_floorboost] || player->kartstuff[k_floorboost] == 3)
{
S_StartSound(player->mo, sfx_cdfm01);
const sfxenum_t normalsfx = sfx_cdfm01;
const sfxenum_t smallsfx = sfx_cdfm40;
sfxenum_t sfx = normalsfx;
if (player->kartstuff[k_speedboost] > (intendedboost/2))
{
// Use a less annoying sound when the booster will just sustain your current speed.
sfx = smallsfx;
}
S_StopSoundByID(player->mo, normalsfx);
S_StopSoundByID(player->mo, smallsfx);
S_StartSound(player->mo, sfx);
K_SpawnDashDustRelease(player);
if (intendedboost > player->kartstuff[k_speedboost])
player->karthud[khud_destboostcam] = FixedMul(FRACUNIT, FixedDiv((intendedboost - player->kartstuff[k_speedboost]), intendedboost));

View file

@ -308,7 +308,12 @@ boolean P_DoSpring(mobj_t *spring, mobj_t *object)
{
angle_t finalAngle = spring->angle;
fixed_t finalSpeed = FixedMul(horizspeed, FixedSqrt(FixedMul(hscale, spring->scale)));
fixed_t objectSpeed = R_PointToDist2(0, 0, savemomx, savemomy);
fixed_t objectSpeed;
if (object->player)
objectSpeed = object->player->speed;
else
objectSpeed = R_PointToDist2(0, 0, savemomx, savemomy);
if (!vertispeed)
{