Faster TA tally, new TA music

This commit is contained in:
AJ Martinez 2024-03-06 20:19:51 -07:00
parent 1874c8a51e
commit 279d802959
6 changed files with 21 additions and 3 deletions

View file

@ -863,7 +863,7 @@ void level_tally_t::Tick(void)
else else
{ {
state = TALLY_ST_DONE; state = TALLY_ST_DONE;
delay = 5*TICRATE; delay = (modeattacking) ? 2*TICRATE: 5*TICRATE;
} }
} }
break; break;
@ -1407,5 +1407,7 @@ boolean K_PlayerTallyActive(player_t *player)
tic_t K_TallyDelay(void) tic_t K_TallyDelay(void)
{ {
if (modeattacking)
return TICRATE;
return ((gametyperules & GTR_BUMPERS) ? 4 : 3) * TICRATE; return ((gametyperules & GTR_BUMPERS) ? 4 : 3) * TICRATE;
} }

View file

@ -20,7 +20,7 @@
#define TALLY_WINDOW_SIZE (2) #define TALLY_WINDOW_SIZE (2)
#define MUSIC_COUNTDOWN_MAX (K_TallyDelay() + 8*TICRATE) #define MUSIC_COUNTDOWN_MAX (K_TallyDelay() + (modeattacking ? 5*TICRATE : 8*TICRATE))
typedef enum typedef enum
{ {

View file

@ -156,6 +156,10 @@ boolean stoppedclock;
boolean levelloading; boolean levelloading;
UINT8 levelfadecol; UINT8 levelfadecol;
tic_t oldbest;
// I cannot fucking believe this is needed, but gamedata is updated at exactly
// the wrong time to check your record in the tally screen.
virtres_t *curmapvirt; virtres_t *curmapvirt;
// BLOCKMAP // BLOCKMAP
@ -8706,6 +8710,8 @@ boolean P_LoadLevel(boolean fromnetsave, boolean reloadinggamestate)
G_SaveGameData(); G_SaveGameData();
} }
oldbest = G_GetBestTime(gamemap - 1);
P_MapEnd(); // tm.thing is no longer needed from this point onwards P_MapEnd(); // tm.thing is no longer needed from this point onwards
if (!udmf && !P_CanWriteTextmap()) if (!udmf && !P_CanWriteTextmap())

View file

@ -34,6 +34,8 @@ extern INT32 numdmstarts, numcoopstarts, numredctfstarts, numbluectfstarts, numf
extern boolean levelloading; extern boolean levelloading;
extern UINT8 levelfadecol; extern UINT8 levelfadecol;
extern tic_t oldbest;
extern lumpnum_t lastloadedmaplumpnum; // for comparative savegame extern lumpnum_t lastloadedmaplumpnum; // for comparative savegame
extern virtres_t *curmapvirt; extern virtres_t *curmapvirt;

View file

@ -4558,7 +4558,7 @@ static void P_SetupSignObject(mobj_t *sign, mobj_t *pmo, boolean error)
mobj_t *cur = sign, *prev = NULL; mobj_t *cur = sign, *prev = NULL;
// Setup the sign itself // Setup the sign itself
P_SetScale(sign, (sign->destscale = 3 * sign->scale / 2)); // 1.5x P_SetScale(sign, (sign->destscale = 5 * sign->scale / 2)); // 2.5x
P_SetTarget(&sign->target, pmo); P_SetTarget(&sign->target, pmo);
P_SetMobjState(sign, S_SIGN_POLE); P_SetMobjState(sign, S_SIGN_POLE);

View file

@ -711,6 +711,14 @@ void P_EndingMusic(void)
{ {
jingle = "_win"; jingle = "_win";
} }
if (modeattacking)
{
if (players[consoleplayer].realtime < oldbest && oldbest != (tic_t)UINT32_MAX)
jingle = "newrec";
else
jingle = "norec";
}
} }
skippingposition: skippingposition: