Add the ability to play Invincibility's theme in full
On-a-whim idea, admittedly
This commit is contained in:
parent
4208fdd197
commit
2419e25327
5 changed files with 25 additions and 6 deletions
|
|
@ -609,6 +609,10 @@ consvar_t cv_kartspbrush = CVAR_INIT ("kartspbrush", "On", CV_NETVAR, CV_OnOff,
|
|||
static CV_PossibleValue_t altshrinktime_cons_t[] = {{0, "MIN"}, {(INT16_MAX / TICRATE), "MAX"}, {0, NULL}};
|
||||
consvar_t cv_kartaltshrinktime = CVAR_INIT ("kartaltshrinktime", "14", CV_NETVAR|CV_CHEAT|CV_GUARD, altshrinktime_cons_t, NULL);
|
||||
|
||||
// Toggle Full or Standard Invincibility music
|
||||
static CV_PossibleValue_t kartinvintheme_cons_t[] = {{0, "Standard"}, {1, "Full"}, {0, NULL}};
|
||||
consvar_t cv_kartinvintheme = CVAR_INIT ("kartinvintheme", "Standard", CV_SAVE, kartinvintheme_cons_t, NULL);
|
||||
|
||||
// How far the player must be from the cluster to begin frequently rolling Invincibility.
|
||||
static CV_PossibleValue_t invindist_cons_t[] = {{1, "MIN"}, {32000, "MAX"}, {0, NULL}};
|
||||
consvar_t cv_kartinvindist = CVAR_INIT ("kartinvindist", "8400", CV_NETVAR|CV_CHEAT|CV_GUARD, invindist_cons_t, NULL);
|
||||
|
|
|
|||
|
|
@ -182,6 +182,7 @@ extern consvar_t cv_kartexplosion_limitlifetime;
|
|||
extern consvar_t cv_kartexplosion_limitlifetime_cap;
|
||||
extern consvar_t cv_kartslipdash;
|
||||
extern consvar_t cv_kartslopeboost;
|
||||
extern consvar_t cv_kartinvintheme;
|
||||
extern consvar_t cv_kartinvindist;
|
||||
extern consvar_t cv_kartinvindistmul;
|
||||
extern consvar_t cv_kartinvin_maxtime;
|
||||
|
|
|
|||
12
src/k_kart.c
12
src/k_kart.c
|
|
@ -394,6 +394,8 @@ void K_RegisterKartStuff(void)
|
|||
|
||||
CV_RegisterVar(&cv_kartaltshrinktime);
|
||||
|
||||
CV_RegisterVar(&cv_kartinvintheme);
|
||||
|
||||
CV_RegisterVar(&cv_kartinvindist);
|
||||
CV_RegisterVar(&cv_kartinvindistmul);
|
||||
|
||||
|
|
@ -4906,6 +4908,14 @@ void K_ResetPogoSpring(player_t *player)
|
|||
player->dashRainbowPogo = 0;
|
||||
}
|
||||
|
||||
// This likely won't find use until Mission Mode, but alas
|
||||
boolean forcefullinvintheme = false;
|
||||
|
||||
boolean K_PlayFullInvinTheme(void)
|
||||
{
|
||||
return ((cv_kartinvintheme.value == 1) || (forcefullinvintheme == true));
|
||||
}
|
||||
|
||||
void K_DoInvincibility(player_t *player, tic_t time)
|
||||
{
|
||||
const boolean isalt = K_IsKartItemAlternate(KITEM_INVINCIBILITY);
|
||||
|
|
@ -4952,7 +4962,7 @@ void K_DoInvincibility(player_t *player, tic_t time)
|
|||
|
||||
if (P_IsLocalPlayer(player) == true)
|
||||
{
|
||||
S_ChangeMusicSpecial("kinvnc");
|
||||
S_ChangeMusicSpecial(K_PlayFullInvinTheme() ? "kinvnf" : "kinvnc");
|
||||
}
|
||||
else //used to be "if (P_IsDisplayPlayer(player) == false)"
|
||||
{
|
||||
|
|
|
|||
12
src/k_kart.h
12
src/k_kart.h
|
|
@ -259,15 +259,19 @@ typedef enum
|
|||
void K_DoSneaker(player_t *player, INT32 type);
|
||||
|
||||
void K_DoPogoSpring(mobj_t *mo, fixed_t vertispeed, UINT8 sound);
|
||||
fixed_t K_InvincibilityGradient(UINT16 time);
|
||||
UINT16 K_GetInvincibilityTime(player_t *player);
|
||||
fixed_t K_GetInvincibilitySpeed(UINT16 time);
|
||||
fixed_t K_GetInvincibilityAccel(UINT16 time);
|
||||
fixed_t K_GetSpeedPercentage(const player_t *player);
|
||||
boolean K_AltShrinkArrowBulletCondition(const player_t *player);
|
||||
boolean K_InterceptArrowBullet(player_t *player);
|
||||
void K_ResetPogoSpring(player_t *player);
|
||||
|
||||
extern boolean forcefullinvintheme;
|
||||
boolean K_PlayFullInvinTheme(void);
|
||||
void K_DoInvincibility(player_t *player, tic_t time);
|
||||
fixed_t K_InvincibilityGradient(UINT16 time);
|
||||
UINT16 K_GetInvincibilityTime(player_t *player);
|
||||
fixed_t K_GetInvincibilitySpeed(UINT16 time);
|
||||
fixed_t K_GetInvincibilityAccel(UINT16 time);
|
||||
|
||||
void K_KillBananaChain(mobj_t *banana, mobj_t *inflictor, mobj_t *source);
|
||||
void K_UpdateHnextList(player_t *player, boolean clean);
|
||||
void K_DropHnextList(player_t *player);
|
||||
|
|
|
|||
|
|
@ -869,7 +869,7 @@ void P_RestoreMusic(player_t *player)
|
|||
// Item - Invincibility
|
||||
else if ((wantedmus == 2) && cv_supermusic.value == 1)
|
||||
{
|
||||
S_ChangeMusicInternal("kinvnc", true);
|
||||
S_ChangeMusicInternal(K_PlayFullInvinTheme() ? "kinvnf" : "kinvnc", true);
|
||||
S_SetRestoreMusicFadeInCvar(&cv_invincmusicfade);
|
||||
}
|
||||
// Item - Shrink (Alternative)
|
||||
|
|
|
|||
Loading…
Reference in a new issue