From 09f4309f4566cbc841d31fbcba156c08f8ba1e34 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Thu, 9 Aug 2018 23:14:14 -0400 Subject: [PATCH] Standardize NiGHTS link timer w/ NightsLinkTics MAINCFG option --- src/dehacked.c | 5 ++++- src/doomstat.h | 1 + src/g_game.c | 1 + src/p_inter.c | 10 +++++----- src/st_stuff.c | 4 ++-- 5 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/dehacked.c b/src/dehacked.c index c4d0bc104..3a18f2a45 100644 --- a/src/dehacked.c +++ b/src/dehacked.c @@ -2730,11 +2730,14 @@ static void readmaincfg(MYFILE *f) { extralifetics = (UINT16)get_number(word2); } + else if (fastcmp(word, "NIGHTSLINKTICS")) + { + nightslinktics = (UINT16)get_number(word2); + } else if (fastcmp(word, "GAMEOVERTICS")) { gameovertics = get_number(word2); } - else if (fastcmp(word, "INTROTOPLAY")) { introtoplay = (UINT8)get_number(word2); diff --git a/src/doomstat.h b/src/doomstat.h index 24b9e5753..97710c05d 100644 --- a/src/doomstat.h +++ b/src/doomstat.h @@ -413,6 +413,7 @@ extern UINT16 tailsflytics; extern UINT16 underwatertics; extern UINT16 spacetimetics; extern UINT16 extralifetics; +extern UINT16 nightslinktics; extern UINT8 introtoplay; extern UINT8 creditscutscene; diff --git a/src/g_game.c b/src/g_game.c index 52358a8b9..5af4743c4 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -201,6 +201,7 @@ UINT16 tailsflytics = 8*TICRATE; UINT16 underwatertics = 30*TICRATE; UINT16 spacetimetics = 11*TICRATE + (TICRATE/2); UINT16 extralifetics = 4*TICRATE; +UINT16 nightslinktics = 2*TICRATE; INT32 gameovertics = 15*TICRATE; diff --git a/src/p_inter.c b/src/p_inter.c index 01343cfb1..f4c1afada 100644 --- a/src/p_inter.c +++ b/src/p_inter.c @@ -182,14 +182,14 @@ void P_DoNightsScore(player_t *player) { if (++players[i].linkcount > players[i].maxlink) players[i].maxlink = players[i].linkcount; - players[i].linktimer = 2*TICRATE; + players[i].linktimer = nightslinktics; } } else // Individual link counts { if (++player->linkcount > player->maxlink) player->maxlink = player->linkcount; - player->linktimer = 2*TICRATE; + player->linktimer = nightslinktics; } if (player->linkcount < 10) @@ -1162,7 +1162,7 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck) if (!G_IsSpecialStage(gamemap)) { player->powers[pw_nights_linkfreeze] = (UINT16)special->info->speed; - player->linktimer = 2*TICRATE; + player->linktimer = nightslinktics; } else { @@ -1170,7 +1170,7 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck) if (playeringame[i] && players[i].powers[pw_carry] == CR_NIGHTSMODE) { players[i].powers[pw_nights_linkfreeze] += (UINT16)special->info->speed; - players[i].linktimer = 2*TICRATE; + players[i].linktimer = nightslinktics; } if (special->info->deathsound != sfx_None) S_StartSound(NULL, special->info->deathsound); @@ -2185,7 +2185,7 @@ void P_KillMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, UINT8 damaget // to make people want to actually dash towards/paraloop enemies if (++source->player->linkcount > source->player->maxlink) source->player->maxlink = source->player->linkcount; - source->player->linktimer = 2*TICRATE; + source->player->linktimer = nightslinktics; } } else diff --git a/src/st_stuff.c b/src/st_stuff.c index 3ecd0acdf..64d3db7f2 100644 --- a/src/st_stuff.c +++ b/src/st_stuff.c @@ -1535,8 +1535,8 @@ static void ST_drawNiGHTSHUD(void) else colornum = linkColor[mag][sel]; - aflag |= ((stplyr->linktimer < 2*TICRATE/3) - ? (9 - 9*stplyr->linktimer/(2*TICRATE/3)) << V_ALPHASHIFT + aflag |= ((stplyr->linktimer < nightslinktics/3) + ? (9 - 9*stplyr->linktimer/(nightslinktics/3)) << V_ALPHASHIFT : 0); y = (160+11)<