Merge branch 'fix-ghost-fast-forward' into 'master'

Time Attack ghosts: sync with level timer instead of when the player crosses the finish line

Closes #829

See merge request KartKrew/Kart!1895
This commit is contained in:
Eidolon 2024-02-06 01:12:35 +00:00
commit 92339d36a9
2 changed files with 6 additions and 4 deletions

View file

@ -1220,8 +1220,8 @@ void G_GhostTicker(void)
continue;
}
// Pause jhosts that cross until we cross ourself.
if (g->linecrossed && !linecrossed)
// Pause jhosts that cross until the timer starts.
if (g->linecrossed && leveltime < starttime)
continue;
readghosttic:
@ -1531,7 +1531,8 @@ skippedghosttic:
continue;
}
if (linecrossed && !g->linecrossed)
// If the timer started, skip ahead until the ghost starts too.
if (starttime <= leveltime && !g->linecrossed)
goto readghosttic;
p = g;

View file

@ -1961,7 +1961,8 @@ static void K_HandleLapIncrement(player_t *player)
linecrossed = leveltime;
if (starttime > leveltime) // Overlong starts shouldn't reset time on cross
starttime = leveltime;
demo_extradata[player-players] |= DXD_START;
if (demo.recording)
demo_extradata[player-players] |= DXD_START;
Music_Stop("position");
}