1
0
mirror of https://github.com/alliedmodders/hl2sdk.git synced 2026-10-10 03:43:06 +08:00
Files
hl2sdk/public/checktransmitinfo.h
2026-07-22 21:00:53 +03:00

51 lines
1.2 KiB
C++

#ifndef CHECKTRANSMITINFO_H
#define CHECKTRANSMITINFO_H
#ifdef _WIN32
#pragma once
#endif
#include "bitvec.h"
#include "const.h"
// Entities can span this many clusters before we revert to a slower area checking algorithm
#define MAX_FAST_ENT_CLUSTERS 4
#define MAX_ENT_CLUSTERS 64
#define MAX_WORLD_AREAS 8
class CCheckTransmitInfo
{
public:
CBitVec<MAX_EDICTS> *m_pTransmitEntity; // entity n is already marked for transmission
CBitVec<MAX_EDICTS> *m_pTransmitAlways; // entity n is always send even if not in PVS (HLTV and Replay only)
// AMNOTE: This is incomplete and may require further reversing in the future.
};
//-----------------------------------------------------------------------------
// Stores information necessary to perform PVS testing.
//-----------------------------------------------------------------------------
struct PVSInfo_t
{
// headnode for the entity's bounding box
short m_nHeadNode;
// number of clusters or -1 if too many
short m_nClusterCount;
// cluster indices
unsigned short *m_pClusters;
// For dynamic "area portals"
short m_nAreaNum;
short m_nAreaNum2;
// current position
float m_vCenter[3];
private:
unsigned short m_pClustersInline[MAX_FAST_ENT_CLUSTERS];
};
#endif // CHECKTRANSMITINFO_H