123
This commit is contained in:
63
CryGame/XClientSnapshot.cpp
Normal file
63
CryGame/XClientSnapshot.cpp
Normal file
@@ -0,0 +1,63 @@
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// 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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user