Files
FC1/CryGame/XClientSnapshot.cpp
romkazvo 34d6c5d489 123
2023-08-07 19:29:24 +08:00

64 lines
1.4 KiB
C++

//////////////////////////////////////////////////////////////////////
//
// Game Source Code
//
// File: XClientSnapshot.cpp
// Description: Snapshot manager class.
//
// History:
// - August 14, 2001: Created by Alberto Demichelis
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "XClientSnapshot.h"
#include "Stream.h"
///////////////////////////////////////////////
CXClientSnapshot::CXClientSnapshot()
{
sv_maxcmdrate = GetISystem()->GetIConsole()->GetCVar("sv_maxcmdrate");
Reset();
SetSendPerSecond(0);
// m_bFirstOne = true;
}
///////////////////////////////////////////////
CXClientSnapshot::~CXClientSnapshot()
{
}
///////////////////////////////////////////////
bool CXClientSnapshot::IsTimeToSend(float fFrameTimeInSec)
{
int iServerMax = sv_maxcmdrate->GetIVal();
int iSendPerSecond = min(iServerMax,(int)m_cSendPerSecond);
unsigned int nTimeToUpdate = 1000/iSendPerSecond;
m_nTimer += (unsigned int)(fFrameTimeInSec*1000.0f);
if(m_nTimer >= nTimeToUpdate)
return true;
return false;
}
///////////////////////////////////////////////
void CXClientSnapshot::Reset()
{
m_ReliableStream.Reset();
m_UnreliableStream.Reset();
m_nTimer = 0;
}
///////////////////////////////////////////////
void CXClientSnapshot::SetSendPerSecond(BYTE cSendPerSecond)
{
m_cSendPerSecond = cSendPerSecond?cSendPerSecond:25;
}