mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Update sounds with correct volume
This commit is contained in:
parent
0e0015cb44
commit
559029511b
1 changed files with 12 additions and 4 deletions
|
|
@ -200,6 +200,15 @@ void I_UpdateSound(void)
|
|||
/// SFX
|
||||
/// ------------------------
|
||||
|
||||
static int
|
||||
get_real_sfx_volume (int vol)
|
||||
{
|
||||
const int scale = SOUND_VOLUME_RANGE / MIX_MAX_VOLUME;
|
||||
const int divider = VOLUME_DIVIDER * scale;
|
||||
const int volume = ( vol + 1 ) / divider * sfx_volume / 100;
|
||||
return volume;
|
||||
}
|
||||
|
||||
// this is as fast as I can possibly make it.
|
||||
// sorry. more asm needed.
|
||||
static Mix_Chunk *ds2chunk(void *stream)
|
||||
|
|
@ -496,9 +505,7 @@ void I_FreeSfx(sfxinfo_t *sfx)
|
|||
INT32 I_StartSound(sfxenum_t id, UINT8 vol, UINT8 sep, UINT8 pitch, UINT8 priority, INT32 channel)
|
||||
{
|
||||
//UINT8 volume = (((UINT16)vol + 1) * (UINT16)sfx_volume) / 62; // (256 * 31) / 62 == 127
|
||||
const int scale = SOUND_VOLUME_RANGE / MIX_MAX_VOLUME;
|
||||
const int divider = VOLUME_DIVIDER * scale;
|
||||
const int volume = ( vol + 1 ) / divider * sfx_volume / 100;
|
||||
UINT8 volume = get_real_sfx_volume(vol);
|
||||
INT32 handle = Mix_PlayChannel(channel, S_sfx[id].data, 0);
|
||||
Mix_Volume(handle, volume);
|
||||
Mix_SetPanning(handle, min((UINT16)(0xff-sep)<<1, 0xff), min((UINT16)(sep)<<1, 0xff));
|
||||
|
|
@ -519,7 +526,8 @@ boolean I_SoundIsPlaying(INT32 handle)
|
|||
|
||||
void I_UpdateSoundParams(INT32 handle, UINT8 vol, UINT8 sep, UINT8 pitch)
|
||||
{
|
||||
UINT8 volume = (((UINT16)vol + 1) * (UINT16)sfx_volume) / 62; // (256 * 31) / 62 == 127
|
||||
//UINT8 volume = (((UINT16)vol + 1) * (UINT16)sfx_volume) / 62; // (256 * 31) / 62 == 127
|
||||
UINT8 volume = get_real_sfx_volume(vol);
|
||||
Mix_Volume(handle, volume);
|
||||
Mix_SetPanning(handle, min((UINT16)(0xff-sep)<<1, 0xff), min((UINT16)(sep)<<1, 0xff));
|
||||
(void)pitch;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue