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];
|
fixed_t value[MAXSPLITSCREENPLAYERS];
|
||||||
} g_darkness;
|
} g_darkness;
|
||||||
|
|
||||||
|
extern struct musicfade_t
|
||||||
|
{
|
||||||
|
tic_t start, end, fade;
|
||||||
|
boolean ticked;
|
||||||
|
} g_musicfade;
|
||||||
|
|
||||||
#define DEFAULT_GRAVITY (4*FRACUNIT/5)
|
#define DEFAULT_GRAVITY (4*FRACUNIT/5)
|
||||||
extern fixed_t gravity;
|
extern fixed_t gravity;
|
||||||
extern fixed_t mapobjectscale;
|
extern fixed_t mapobjectscale;
|
||||||
|
|
|
||||||
|
|
@ -279,6 +279,7 @@ tic_t racecountdown, exitcountdown, musiccountdown; // for racing
|
||||||
exitcondition_t g_exit;
|
exitcondition_t g_exit;
|
||||||
|
|
||||||
darkness_t g_darkness;
|
darkness_t g_darkness;
|
||||||
|
musicfade_t g_musicfade;
|
||||||
|
|
||||||
fixed_t gravity;
|
fixed_t gravity;
|
||||||
fixed_t mapobjectscale;
|
fixed_t mapobjectscale;
|
||||||
|
|
|
||||||
|
|
@ -118,6 +118,7 @@ void K_TimerReset(void)
|
||||||
{
|
{
|
||||||
starttime = introtime = 0;
|
starttime = introtime = 0;
|
||||||
memset(&g_darkness, 0, sizeof g_darkness);
|
memset(&g_darkness, 0, sizeof g_darkness);
|
||||||
|
memset(&g_musicfade, 0, sizeof g_musicfade);
|
||||||
numbulbs = 1;
|
numbulbs = 1;
|
||||||
inDuel = rainbowstartavailable = false;
|
inDuel = rainbowstartavailable = false;
|
||||||
linecrossed = 0;
|
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.start);
|
||||||
WRITEUINT32(save->p, g_darkness.end);
|
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);
|
WRITEUINT16(save->p, numchallengedestructibles);
|
||||||
|
|
||||||
// Is it paused?
|
// Is it paused?
|
||||||
|
|
@ -6753,6 +6758,11 @@ static boolean P_NetUnArchiveMisc(savebuffer_t *save, boolean reloading)
|
||||||
g_darkness.start = READUINT32(save->p);
|
g_darkness.start = READUINT32(save->p);
|
||||||
g_darkness.end = 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);
|
numchallengedestructibles = READUINT16(save->p);
|
||||||
|
|
||||||
// Is it paused?
|
// 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
|
// P_Ticker
|
||||||
//
|
//
|
||||||
|
|
@ -1102,6 +1118,7 @@ void P_Ticker(boolean run)
|
||||||
racecountdown--;
|
racecountdown--;
|
||||||
|
|
||||||
P_TickDarkness();
|
P_TickDarkness();
|
||||||
|
P_TickMusicFade();
|
||||||
|
|
||||||
if (exitcountdown >= 1)
|
if (exitcountdown >= 1)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -143,6 +143,7 @@ TYPEDEF (cupheader_t);
|
||||||
TYPEDEF (unloaded_cupheader_t);
|
TYPEDEF (unloaded_cupheader_t);
|
||||||
TYPEDEF (exitcondition_t);
|
TYPEDEF (exitcondition_t);
|
||||||
TYPEDEF (darkness_t);
|
TYPEDEF (darkness_t);
|
||||||
|
TYPEDEF (musicfade_t);
|
||||||
|
|
||||||
// font.h
|
// font.h
|
||||||
TYPEDEF (font_t);
|
TYPEDEF (font_t);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue