hl2_src-leak-2017/src/game/shared/tf2/tf_movedata.h

72 lines
2.1 KiB
C++

//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
// $NoKeywords: $
//=============================================================================//
#ifndef TF_MOVEDATA_H
#define TF_MOVEDATA_H
#ifdef _WIN32
#pragma once
#endif
#include "igamemovement.h"
#include "tfclassdata_shared.h"
class CPlayerClassData;
// This class contains TF-specific prediction data. CMoveData can be casted to this class in
// CTFPlayerMove and CTFGameMovement to do TF-specific movement.
class CTFMoveData : public CMoveData
{
public:
Vector m_vecPosDelta;
// Revisit this!!!
enum { MOMENTUM_MAXSIZE = 10 };
float m_aMomentum[MOMENTUM_MAXSIZE];
int m_iMomentumHead;
int m_nClassID;
inline PlayerClassCommandoData_t &CommandoData() { return m_CommandoData; }
inline PlayerClassDefenderData_t &DefenderData() { return m_DefenderData; }
inline PlayerClassEscortData_t &EscortData() { return m_EscortData; }
inline PlayerClassInfiltratorData_t &InfiltratorData() { return m_InfiltratorData; }
inline PlayerClassMedicData_t &MedicData() { return m_MedicData; }
inline PlayerClassReconData_t &ReconData() { return m_ReconData; }
inline PlayerClassSniperData_t &SniperData() { return m_SniperData; }
inline PlayerClassSupportData_t &SupportData() { return m_SupportData; }
inline PlayerClassSapperData_t &SapperData() { return m_SapperData; }
inline PlayerClassPyroData_t &PyroData() { return m_PyroData; }
inline void* VehicleData() { return m_VehicleData; }
inline int VehicleDataMaxSize()
{
return VEHICLE_DATA_SIZE;
}
private:
enum
{
VEHICLE_DATA_SIZE = 256
};
PlayerClassCommandoData_t m_CommandoData;
PlayerClassDefenderData_t m_DefenderData;
PlayerClassEscortData_t m_EscortData;
PlayerClassInfiltratorData_t m_InfiltratorData;
PlayerClassMedicData_t m_MedicData;
PlayerClassReconData_t m_ReconData;
PlayerClassSniperData_t m_SniperData;
PlayerClassSupportData_t m_SupportData;
PlayerClassSapperData_t m_SapperData;
PlayerClassPyroData_t m_PyroData;
unsigned char m_VehicleData[VEHICLE_DATA_SIZE];
};
#endif // TF_MOVEDATA_H