Team Fortress 2 Source Code as on 22/4/2020
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
// $Workfile: $
// $Date: $
//
//-----------------------------------------------------------------------------
// $Log: $
//
// $NoKeywords: $
//=============================================================================//
#include "client_pch.h"
#include "demo.h"
#include "host.h"
// memdbgon must be the last include file in a .cpp file!!!
#include "tier0/memdbgon.h"
//-----------------------------------------------------------------------------
// Purpose:
// Input : world_start_state -
// validframe -
// start_command -
// stop_command -
//-----------------------------------------------------------------------------
void CL_Predict( int world_start_state, bool validframe, int start_command, int stop_command ) { // Allow client .dll to do prediction.
g_pClientSidePrediction->Update( world_start_state, validframe, start_command, stop_command ); }
//-----------------------------------------------------------------------------
// Purpose: Determine if we received a new message, which means we need to
// redo prediction
//-----------------------------------------------------------------------------
void CL_RunPrediction( PREDICTION_REASON reason ) { tmZone( TELEMETRY_LEVEL0, TMZF_NONE, "%s", __FUNCTION__ );
if ( !cl.IsActive() ) return;
if ( cl.m_nDeltaTick < 0 ) { // no valid snapshot received yet
return; }
// Don't do prediction if skipping ahead during demo playback
if ( demoplayer->IsSkipping() ) { return; }
//Msg( "%i pred reason %s\n", host_framecount, reason == PREDICTION_SIMULATION_RESULTS_ARRIVING_ON_SEND_FRAME ?
// "same frame" : "normal" );
bool valid = cl.m_nDeltaTick > 0; // cl.GetReceiveList( cl.delta_tick ) != NULL;
//Msg( "%i/%i CL_RunPrediction: last ack %i most recent %i\n",
// host_framecount, cl.tickcount,
// cl.last_command_ack,
// cl.netchan->m_nOutSequenceNr - 1 );
CL_Predict( cl.m_nDeltaTick, valid, cl.last_command_ack, cl.lastoutgoingcommand + cl.chokedcommands ); }
|