mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Add g_musicfade, generic system to fade out the level music for a brief period
This commit is contained in:
parent
549865ce2d
commit
0707c9e5ec
6 changed files with 36 additions and 0 deletions
|
|
@ -811,6 +811,12 @@ extern struct darkness_t
|
|||
fixed_t value[MAXSPLITSCREENPLAYERS];
|
||||
} g_darkness;
|
||||
|
||||
extern struct musicfade_t
|
||||
{
|
||||
tic_t start, end, fade;
|
||||
boolean ticked;
|
||||
} g_musicfade;
|
||||
|
||||
#define DEFAULT_GRAVITY (4*FRACUNIT/5)
|
||||
extern fixed_t gravity;
|
||||
extern fixed_t mapobjectscale;
|
||||
|
|
|
|||
|
|
@ -279,6 +279,7 @@ tic_t racecountdown, exitcountdown, musiccountdown; // for racing
|
|||
exitcondition_t g_exit;
|
||||
|
||||
darkness_t g_darkness;
|
||||
musicfade_t g_musicfade;
|
||||
|
||||
fixed_t gravity;
|
||||
fixed_t mapobjectscale;
|
||||
|
|
|
|||
|
|
@ -118,6 +118,7 @@ void K_TimerReset(void)
|
|||
{
|
||||
starttime = introtime = 0;
|
||||
memset(&g_darkness, 0, sizeof g_darkness);
|
||||
memset(&g_musicfade, 0, sizeof g_musicfade);
|
||||
numbulbs = 1;
|
||||
inDuel = rainbowstartavailable = false;
|
||||
linecrossed = 0;
|
||||
|
|
|
|||
|
|
@ -6567,6 +6567,11 @@ static void P_NetArchiveMisc(savebuffer_t *save, boolean resending)
|
|||
WRITEUINT32(save->p, g_darkness.start);
|
||||
WRITEUINT32(save->p, g_darkness.end);
|
||||
|
||||
WRITEUINT32(save->p, g_musicfade.start);
|
||||
WRITEUINT32(save->p, g_musicfade.end);
|
||||
WRITEUINT32(save->p, g_musicfade.fade);
|
||||
WRITEUINT8(save->p, g_musicfade.ticked);
|
||||
|
||||
WRITEUINT16(save->p, numchallengedestructibles);
|
||||
|
||||
// Is it paused?
|
||||
|
|
@ -6753,6 +6758,11 @@ static boolean P_NetUnArchiveMisc(savebuffer_t *save, boolean reloading)
|
|||
g_darkness.start = READUINT32(save->p);
|
||||
g_darkness.end = READUINT32(save->p);
|
||||
|
||||
g_musicfade.start = READUINT32(save->p);
|
||||
g_musicfade.end = READUINT32(save->p);
|
||||
g_musicfade.fade = READUINT32(save->p);
|
||||
g_musicfade.ticked = READUINT8(save->p);
|
||||
|
||||
numchallengedestructibles = READUINT16(save->p);
|
||||
|
||||
// Is it paused?
|
||||
|
|
|
|||
17
src/p_tick.c
17
src/p_tick.c
|
|
@ -808,6 +808,22 @@ static void P_TickDarkness(void)
|
|||
}
|
||||
}
|
||||
|
||||
static void P_TickMusicFade(void)
|
||||
{
|
||||
if (leveltime >= g_musicfade.start && leveltime <= g_musicfade.end)
|
||||
{
|
||||
INT32 half = (g_musicfade.end - g_musicfade.start) / 2;
|
||||
INT32 fade = max(1, g_musicfade.fade);
|
||||
INT32 mid = half - fade;
|
||||
INT32 t = abs((INT32)leveltime - (INT32)(g_musicfade.start + half));
|
||||
Music_LevelVolume((max(t, mid) - mid) * 100 / fade);
|
||||
}
|
||||
else if (!g_musicfade.ticked)
|
||||
Music_LevelVolume(100);
|
||||
|
||||
g_musicfade.ticked = true;
|
||||
}
|
||||
|
||||
//
|
||||
// P_Ticker
|
||||
//
|
||||
|
|
@ -1102,6 +1118,7 @@ void P_Ticker(boolean run)
|
|||
racecountdown--;
|
||||
|
||||
P_TickDarkness();
|
||||
P_TickMusicFade();
|
||||
|
||||
if (exitcountdown >= 1)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -143,6 +143,7 @@ TYPEDEF (cupheader_t);
|
|||
TYPEDEF (unloaded_cupheader_t);
|
||||
TYPEDEF (exitcondition_t);
|
||||
TYPEDEF (darkness_t);
|
||||
TYPEDEF (musicfade_t);
|
||||
|
||||
// font.h
|
||||
TYPEDEF (font_t);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue