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.
56 lines
2.0 KiB
56 lines
2.0 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
//=======================================================================================// |
|
|
|
#ifndef SESSIONINFOHEADER_H |
|
#define SESSIONINFOHEADER_H |
|
#ifdef _WIN32 |
|
#pragma once |
|
#endif |
|
|
|
//---------------------------------------------------------------------------------------- |
|
|
|
#include "replay/shared_defs.h" |
|
#include "compression.h" |
|
#include "strtools.h" |
|
|
|
//---------------------------------------------------------------------------------------- |
|
|
|
#define SESSION_INFO_VERSION 1 |
|
|
|
//---------------------------------------------------------------------------------------- |
|
|
|
struct SessionInfoHeader_t |
|
{ |
|
inline SessionInfoHeader_t() |
|
{ |
|
V_memset( this, 0, sizeof( SessionInfoHeader_t ) ); |
|
m_nCompressorType = COMPRESSORTYPE_INVALID; |
|
m_uVersion = SESSION_INFO_VERSION; |
|
} |
|
|
|
// |
|
// Session info files may be around for days, during which this format may change - so |
|
// we need to be careful not to break it. |
|
// |
|
// Therefore, any changes to data here should be reflected in the size of m_aUnused. |
|
// |
|
uint8 m_uVersion; |
|
char m_szSessionName[MAX_SESSIONNAME_LENGTH]; // Name of session |
|
bool m_bRecording; // Is this session currenty recording? |
|
int32 m_nNumBlocks; // # blocks in the session so far if recording, or total if not recording |
|
CompressorType_t m_nCompressorType; // COMPRESSORTYPE_INVALID if header is not compressed |
|
uint8 m_aHash[16]; // MD5 digest on payload |
|
uint32 m_uPayloadSize; // Size of the payload - the compressed payload if it's compressed |
|
uint32 m_uPayloadSizeUC; // Size of the uncompressed payload, if its compressed, otherwise 0 |
|
|
|
uint8 m_aUnused[128]; |
|
}; |
|
|
|
//---------------------------------------------------------------------------------------- |
|
|
|
bool ReadSessionInfoHeader( const void *pBuf, int nBufSize, SessionInfoHeader_t &outHeader ); |
|
|
|
//---------------------------------------------------------------------------------------- |
|
|
|
#endif // SESSIONINFOHEADER_H
|
|
|