mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2024-11-15 09:11:48 +00:00
Make S_FadeMusicFromLevel accept mandatory source_volume
* Make S_FadeMusic a legitimate function to grab current internal volume
This commit is contained in:
parent
3d8c4585d4
commit
b844a908a1
3 changed files with 14 additions and 9 deletions
|
@ -251,9 +251,9 @@ void I_SetInternalMusicVolume(UINT8 volume);
|
|||
|
||||
void I_StopFadingMusic(void);
|
||||
|
||||
boolean I_FadeMusicFromLevel(UINT8 target_volume, INT16 source_volume, UINT32 ms);
|
||||
boolean I_FadeMusicFromLevel(UINT8 target_volume, UINT16 source_volume, UINT32 ms);
|
||||
|
||||
#define I_FadeMusic(a, b) I_FadeMusicFromLevel(a, -1, b)
|
||||
boolean I_FadeMusic(UINT8 target_volume, UINT32 ms);
|
||||
|
||||
/** \brief The I_StartDigSong function
|
||||
|
||||
|
|
|
@ -1488,7 +1488,10 @@ void S_StopFadingMusic(void)
|
|||
|
||||
boolean S_FadeMusicFromLevel(UINT8 target_volume, INT16 source_volume, UINT32 ms)
|
||||
{
|
||||
return I_FadeMusicFromLevel(target_volume, source_volume, ms);
|
||||
if (source_volume < 0)
|
||||
return I_FadeMusic(target_volume, ms);
|
||||
else
|
||||
return I_FadeMusicFromLevel(target_volume, source_volume, ms);
|
||||
}
|
||||
|
||||
void S_SetDigMusicVolume(INT32 volume)
|
||||
|
|
|
@ -1189,13 +1189,13 @@ void I_StopFadingMusic(void)
|
|||
fading_target = fading_steps = fading_volume_step = fading_id = 0;
|
||||
}
|
||||
|
||||
boolean I_FadeMusicFromLevel(UINT8 target_volume, INT16 source_volume, UINT32 ms)
|
||||
boolean I_FadeMusicFromLevel(UINT8 target_volume, UINT8 source_volume, UINT32 ms)
|
||||
{
|
||||
UINT32 target_steps, ms_per_step;
|
||||
INT16 target_volume_step, volume_delta;
|
||||
|
||||
source_volume = min(source_volume, 100);
|
||||
volume_delta = (INT16)(target_volume - (source_volume < 0 ? internal_volume : source_volume));
|
||||
volume_delta = (INT16)(target_volume - source_volume));
|
||||
|
||||
I_StopFadingMusic();
|
||||
|
||||
|
@ -1230,17 +1230,19 @@ boolean I_FadeMusicFromLevel(UINT8 target_volume, INT16 source_volume, UINT32 ms
|
|||
fading_steps = target_steps;
|
||||
fading_volume_step = target_volume_step;
|
||||
|
||||
if (source_volume >= 0 && internal_volume != source_volume)
|
||||
if (internal_volume != source_volume)
|
||||
I_SetInternalMusicVolume(source_volume);
|
||||
}
|
||||
}
|
||||
|
||||
CONS_Printf("Target %d> Source %d> MS %d> Steps %d> MSPer %d> VolPer %d> Fading %d\n",
|
||||
target_volume, internal_volume, ms, target_steps, ms_per_step, target_volume_step, is_fading);
|
||||
|
||||
return is_fading;
|
||||
}
|
||||
|
||||
boolean I_FadeMusic(UINT8 target_volume, UINT32 ms)
|
||||
{
|
||||
return I_FadeMusicFromLevel(target_volume, internal_volume, ms);
|
||||
}
|
||||
|
||||
//
|
||||
// MIDI Music
|
||||
//
|
||||
|
|
Loading…
Reference in a new issue