@@ -467,7 +467,7 @@ TasPlayerInfo TasPlayer::GetPlayerInfo(int slot, void *player, CUserCmd *cmd, bo
467467 }
468468 }
469469
470- pi.tick = FetchCurrentPlayerTickBase (player, clientside) ;
470+ pi.tick = cmd-> tick_count + 1 ;
471471 pi.angles = engine->GetAngles (pi.slot );
472472
473473 pi.oldButtons = m_nOldButtons;
@@ -484,16 +484,6 @@ TasPlayerInfo TasPlayer::GetPlayerInfo(int slot, void *player, CUserCmd *cmd, bo
484484 return pi;
485485}
486486
487- int TasPlayer::FetchCurrentPlayerTickBase (void *player, bool clientside) {
488- if (!clientside) {
489- ServerEnt *pl = (ServerEnt *)player;
490- return pl->template field <int >(" m_nTickBase" );
491- } else {
492- ClientEnt *pl = (ClientEnt *)player;
493- return pl->template field <int >(" m_nTickBase" );
494- }
495- }
496-
497487void TasPlayer::SaveUsercmdDebugs (int slot) {
498488 std::string filename = playbackInfo.slots [slot].path ;
499489 std::vector<std::string> &lines = playbackInfo.slots [slot].userCmdDebugs ;
@@ -667,9 +657,8 @@ void TasPlayer::PostProcess(int slot, void *player, CUserCmd *cmd) {
667657 if (!ready) return ;
668658 if (slot == playbackInfo.coopControlSlot ) return ;
669659
670- // player tickbase seems to be an accurate way of getting current time in ProcessMovement
671- // every other way of getting time is incorrect due to alternateticks
672- int tasTick = FetchCurrentPlayerTickBase (player) - startTick;
660+ // previously controlled by player's tickbase. revert if it's causing any problems
661+ int tasTick = (cmd->tick_count + 1 ) - startTick;
673662
674663 TasFramebulk& fb = RequestProcessedFramebulkAt (slot, tasTick);
675664
0 commit comments