diff options
| author | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
|---|---|---|
| committer | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
| commit | 3bf9df6b2785fa6d951086978a3e66f49427166a (patch) | |
| tree | 2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /game/shared/tf2/tfclassdata_shared.h | |
| download | archived-source-engine-2018-hl2-src-master.tar.xz archived-source-engine-2018-hl2-src-master.zip | |
Diffstat (limited to 'game/shared/tf2/tfclassdata_shared.h')
| -rw-r--r-- | game/shared/tf2/tfclassdata_shared.h | 368 |
1 files changed, 368 insertions, 0 deletions
diff --git a/game/shared/tf2/tfclassdata_shared.h b/game/shared/tf2/tfclassdata_shared.h new file mode 100644 index 0000000..9a35d04 --- /dev/null +++ b/game/shared/tf2/tfclassdata_shared.h @@ -0,0 +1,368 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//=============================================================================// + +#ifndef TFCLASSDATA_SHARED_H +#define TFCLASSDATA_SHARED_H +#ifdef _WIN32 +#pragma once +#endif + +#include "mathlib/vector.h" + + +enum TFClass +{ + TFCLASS_UNDECIDED = 0, + + TFCLASS_RECON, + TFCLASS_COMMANDO, + TFCLASS_MEDIC, + TFCLASS_DEFENDER, + TFCLASS_SNIPER, + TFCLASS_SUPPORT, + TFCLASS_ESCORT, + TFCLASS_SAPPER, + TFCLASS_INFILTRATOR, + TFCLASS_PYRO, + + // TFCLASS_INDIRECT, + + TFCLASS_CLASS_COUNT, +}; + + +//============================================================================= +// +// Class Shared Data +// +#define PLAYERCLASS_HULL_STAND_MIN Vector( -24.0f, -24.0f, 0.0f ) +#define PLAYERCLASS_HULL_STAND_MAX Vector( 24.0f, 24.0f, 72.0f ) +#define PLAYERCLASS_VIEWOFFSET_STAND Vector( 0.0f, 0.0f, 64.0f ) + +#define PLAYERCLASS_HULL_DUCK_MIN Vector( -24.0f, -24.0f, 0.0f ) +#define PLAYERCLASS_HULL_DUCK_MAX Vector( 24.0f, 24.0f, 36.0f ) +#define PLAYERCLASS_VIEWOFFSET_DUCK Vector( 0.0f, 0.0f, 30.0f ) + +#define PLAYERCLASS_STEPSIZE 18.0f + +//============================================================================= +// +// Commando Class Specific Data +// +//#define COMMANDO_TEST + +#ifndef COMMANDO_TEST + +#define COMMANDOCLASS_HULL_STAND_MIN PLAYERCLASS_HULL_STAND_MIN +#define COMMANDOCLASS_HULL_STAND_MAX PLAYERCLASS_HULL_STAND_MAX +#define COMMANDOCLASS_VIEWOFFSET_STAND PLAYERCLASS_VIEWOFFSET_STAND + +#define COMMANDOCLASS_HULL_DUCK_MIN PLAYERCLASS_HULL_DUCK_MIN +#define COMMANDOCLASS_HULL_DUCK_MAX PLAYERCLASS_HULL_DUCK_MAX +#define COMMANDOCLASS_VIEWOFFSET_DUCK PLAYERCLASS_VIEWOFFSET_DUCK + +#define COMMANDOCLASS_STEPSIZE PLAYERCLASS_STEPSIZE + +#else + +#define COMMANDOCLASS_HULL_STAND_MIN Vector( -18.0f, -18.0f, 0.0f ) +#define COMMANDOCLASS_HULL_STAND_MAX Vector( 18.0f, 18.0f, 54.0f ) +#define COMMANDOCLASS_VIEWOFFSET_STAND Vector( 0.0f, 0.0f, 51.0f ) + +#define COMMANDOCLASS_HULL_DUCK_MIN Vector( -18.0f, -18.0f, 0.0f ) +#define COMMANDOCLASS_HULL_DUCK_MAX Vector( 18.0f, 18.0f, 40.0f ) +#define COMMANDOCLASS_VIEWOFFSET_DUCK Vector( 0.0f, 0.0f, 35.0f ) + +#define COMMANDOCLASS_STEPSIZE 18.0f + +#endif + +#define COMMANDO_MOVETYPE_BULLRUSH ( MOVETYPE_LAST + 1 ) + +#define COMMANDO_TIME_INVALID -9999.0f +#define COMMANDO_DOUBLETAP_TIME 300.0f +#define COMMANDO_BULLRUSH_TIME 2000.0f +#define COMMANDO_BULLRUSH_VIEWDELTA_TIME 1000.0f +#define COMMANDO_BULLRUSH_VIEWDELTA_TEST ( COMMANDO_BULLRUSH_TIME - COMMANDO_BULLRUSH_VIEWDELTA_TIME ) + +struct PlayerClassCommandoData_t +{ + DECLARE_PREDICTABLE(); + DECLARE_CLASS_NOBASE( PlayerClassCommandoData_t ); + DECLARE_EMBEDDED_NETWORKVAR(); + + enum { PLAYERCLASS_ID = TFCLASS_COMMANDO }; + + CNetworkVar( bool, m_bCanBullRush ); + CNetworkVar( bool, m_bBullRush ); + CNetworkVector( m_vecBullRushDir ); + CNetworkQAngle( m_vecBullRushViewDir ); + CNetworkQAngle( m_vecBullRushViewGoalDir ); + CNetworkVar( float, m_flBullRushTime ); + CNetworkVar( float, m_flDoubleTapForwardTime ); +}; + + +//============================================================================= +// +// Defender Class Specific Data +// +#if 0 +#define DEFENDERCLASS_HULL_STAND_MIN PLAYERCLASS_HULL_STAND_MIN +#define DEFENDERCLASS_HULL_STAND_MAX PLAYERCLASS_HULL_STAND_MAX +#define DEFENDERCLASS_VIEWOFFSET_STAND PLAYERCLASS_VIEWOFFSET_STAND + +#define DEFENDERCLASS_HULL_DUCK_MIN PLAYERCLASS_HULL_DUCK_MIN +#define DEFENDERCLASS_HULL_DUCK_MAX PLAYERCLASS_HULL_DUCK_MAX +#define DEFENDERCLASS_VIEWOFFSET_DUCK PLAYERCLASS_VIEWOFFSET_DUCK + +#define DEFENDERCLASS_STEPSIZE PLAYERCLASS_STEPSIZE +#else +#define DEFENDERCLASS_HULL_STAND_MIN Vector( -18.0f, -18.0f, 0.0f ) +#define DEFENDERCLASS_HULL_STAND_MAX Vector( 18.0f, 18.0f, 55.0f ) +#define DEFENDERCLASS_VIEWOFFSET_STAND Vector( 0.0f, 0.0f, 53.0f ) + +#define DEFENDERCLASS_HULL_DUCK_MIN Vector( -18.0f, -18.0f, 0.0f ) +#define DEFENDERCLASS_HULL_DUCK_MAX Vector( 18.0f, 18.0f, 30.0f ) +#define DEFENDERCLASS_VIEWOFFSET_DUCK Vector( 0.0f, 0.0f, 25.0f ) + +#define DEFENDERCLASS_STEPSIZE 15.0f +#endif + +struct PlayerClassDefenderData_t +{ + DECLARE_PREDICTABLE(); + + enum { PLAYERCLASS_ID = TFCLASS_DEFENDER }; + +}; + +//============================================================================= +// +// Escort Class Specific Data +// +#if 0 +#define ESCORTCLASS_HULL_STAND_MIN PLAYERCLASS_HULL_STAND_MIN +#define ESCORTCLASS_HULL_STAND_MAX PLAYERCLASS_HULL_STAND_MAX +#define ESCORTCLASS_VIEWOFFSET_STAND PLAYERCLASS_VIEWOFFSET_STAND + +#define ESCORTCLASS_HULL_DUCK_MIN PLAYERCLASS_HULL_DUCK_MIN +#define ESCORTCLASS_HULL_DUCK_MAX PLAYERCLASS_HULL_DUCK_MAX +#define ESCORTCLASS_VIEWOFFSET_DUCK PLAYERCLASS_VIEWOFFSET_DUCK + +#define ESCORTCLASS_STEPSIZE PLAYERCLASS_STEPSIZE +#else +#define ESCORTCLASS_HULL_STAND_MIN Vector( -24.0f, -24.0f, 0.0f ) +#define ESCORTCLASS_HULL_STAND_MAX Vector( 24.0f, 24.0f, 74.0f ) +#define ESCORTCLASS_VIEWOFFSET_STAND Vector( 0.0f, 0.0f, 67.0f ) + +#define ESCORTCLASS_HULL_DUCK_MIN Vector( -24.0f, -24.0f, 0.0f ) +#define ESCORTCLASS_HULL_DUCK_MAX Vector( 24.0f, 24.0f, 72.0f ) +#define ESCORTCLASS_VIEWOFFSET_DUCK Vector( 0.0f, 0.0f, 48.0f ) + +#define ESCORTCLASS_STEPSIZE 18.0f +#endif + +struct PlayerClassEscortData_t +{ + DECLARE_PREDICTABLE(); + + enum { PLAYERCLASS_ID = TFCLASS_ESCORT }; + +}; + +//============================================================================= +// +// Infiltrator Class Specific Data +// +#define INFILTRATORCLASS_HULL_STAND_MIN PLAYERCLASS_HULL_STAND_MIN +#define INFILTRATORCLASS_HULL_STAND_MAX PLAYERCLASS_HULL_STAND_MAX +#define INFILTRATORCLASS_VIEWOFFSET_STAND PLAYERCLASS_VIEWOFFSET_STAND + +#define INFILTRATORCLASS_HULL_DUCK_MIN PLAYERCLASS_HULL_DUCK_MIN +#define INFILTRATORCLASS_HULL_DUCK_MAX PLAYERCLASS_HULL_DUCK_MAX +#define INFILTRATORCLASS_VIEWOFFSET_DUCK PLAYERCLASS_VIEWOFFSET_DUCK + +#define INFILTRATORCLASS_STEPSIZE PLAYERCLASS_STEPSIZE + +struct PlayerClassInfiltratorData_t +{ + DECLARE_PREDICTABLE(); + + enum { PLAYERCLASS_ID = TFCLASS_INFILTRATOR }; + +}; + + +//============================================================================= +// +// Pyro Class Specific Data +// + +#define PYROCLASS_HULL_STAND_MIN PLAYERCLASS_HULL_STAND_MIN +#define PYROCLASS_HULL_STAND_MAX PLAYERCLASS_HULL_STAND_MAX +#define PYROCLASS_VIEWOFFSET_STAND PLAYERCLASS_VIEWOFFSET_STAND + +#define PYROCLASS_HULL_DUCK_MIN PLAYERCLASS_HULL_DUCK_MIN +#define PYROCLASS_HULL_DUCK_MAX PLAYERCLASS_HULL_DUCK_MAX +#define PYROCLASS_VIEWOFFSET_DUCK PLAYERCLASS_VIEWOFFSET_DUCK + +#define PYROCLASS_STEPSIZE PLAYERCLASS_STEPSIZE + +struct PlayerClassPyroData_t +{ + DECLARE_PREDICTABLE(); + + enum { PLAYERCLASS_ID = TFCLASS_PYRO }; + +}; + + +//============================================================================= +// +// Medic Class Specific Data +// +#define MEDICCLASS_HULL_STAND_MIN PLAYERCLASS_HULL_STAND_MIN +#define MEDICCLASS_HULL_STAND_MAX PLAYERCLASS_HULL_STAND_MAX +#define MEDICCLASS_VIEWOFFSET_STAND PLAYERCLASS_VIEWOFFSET_STAND + +#define MEDICCLASS_HULL_DUCK_MIN PLAYERCLASS_HULL_DUCK_MIN +#define MEDICCLASS_HULL_DUCK_MAX PLAYERCLASS_HULL_DUCK_MAX +#define MEDICCLASS_VIEWOFFSET_DUCK PLAYERCLASS_VIEWOFFSET_DUCK + +#define MEDICCLASS_STEPSIZE PLAYERCLASS_STEPSIZE + +struct PlayerClassMedicData_t +{ + DECLARE_PREDICTABLE(); + + enum { PLAYERCLASS_ID = TFCLASS_MEDIC }; + +}; + +//============================================================================= +// +// Recon Class Specific Data +// +#define RECONCLASS_HULL_STAND_MIN PLAYERCLASS_HULL_STAND_MIN +#define RECONCLASS_HULL_STAND_MAX PLAYERCLASS_HULL_STAND_MAX +#define RECONCLASS_VIEWOFFSET_STAND PLAYERCLASS_VIEWOFFSET_STAND + +#define RECONCLASS_HULL_DUCK_MIN PLAYERCLASS_HULL_DUCK_MIN +#define RECONCLASS_HULL_DUCK_MAX PLAYERCLASS_HULL_DUCK_MAX +#define RECONCLASS_VIEWOFFSET_DUCK PLAYERCLASS_VIEWOFFSET_DUCK + +#define RECONCLASS_STEPSIZE PLAYERCLASS_STEPSIZE + +struct PlayerClassReconData_t +{ + DECLARE_PREDICTABLE(); + DECLARE_CLASS_NOBASE( PlayerClassReconData_t ); + DECLARE_EMBEDDED_NETWORKVAR(); + + + enum { PLAYERCLASS_ID = TFCLASS_RECON }; + + // For in-air jumps + CNetworkVar( int, m_nJumpCount ); + + // For wall jumps + CNetworkVar( float, m_flSuppressionJumpTime ); + CNetworkVar( float, m_flSuppressionImpactTime ); + CNetworkVar( float, m_flActiveJumpTime ); + CNetworkVar( float, m_flStickTime ); + CNetworkVector( m_vecImpactNormal ); + CNetworkVar( float, m_flImpactDist ); + CNetworkVector( m_vecUnstickVelocity ); + + // Trail + CNetworkVar( bool, m_bTrailParticles ); +}; + + +//============================================================================= +// +// Sniper Class Specific Data +// +#define SNIPERCLASS_HULL_STAND_MIN PLAYERCLASS_HULL_STAND_MIN +#define SNIPERCLASS_HULL_STAND_MAX PLAYERCLASS_HULL_STAND_MAX +#define SNIPERCLASS_VIEWOFFSET_STAND PLAYERCLASS_VIEWOFFSET_STAND + +#define SNIPERCLASS_HULL_DUCK_MIN PLAYERCLASS_HULL_DUCK_MIN +#define SNIPERCLASS_HULL_DUCK_MAX PLAYERCLASS_HULL_DUCK_MAX +#define SNIPERCLASS_VIEWOFFSET_DUCK PLAYERCLASS_VIEWOFFSET_DUCK + +#define SNIPERCLASS_STEPSIZE PLAYERCLASS_STEPSIZE + +struct PlayerClassSniperData_t +{ + DECLARE_PREDICTABLE(); + + enum { PLAYERCLASS_ID = TFCLASS_SNIPER }; + +}; + +//============================================================================= +// +// Support Class Specific Data +// +#if 0 +#define SUPPORTCLASS_HULL_STAND_MIN PLAYERCLASS_HULL_STAND_MIN +#define SUPPORTCLASS_HULL_STAND_MAX PLAYERCLASS_HULL_STAND_MAX +#define SUPPORTCLASS_VIEWOFFSET_STAND PLAYERCLASS_VIEWOFFSET_STAND + +#define SUPPORTCLASS_HULL_DUCK_MIN PLAYERCLASS_HULL_DUCK_MIN +#define SUPPORTCLASS_HULL_DUCK_MAX PLAYERCLASS_HULL_DUCK_MAX +#define SUPPORTCLASS_VIEWOFFSET_DUCK PLAYERCLASS_VIEWOFFSET_DUCK + +#define SUPPORTCLASS_STEPSIZE PLAYERCLASS_STEPSIZE +#else +#define SUPPORTCLASS_HULL_STAND_MIN Vector( -30.0f, -30.0f, 0.0f ) +#define SUPPORTCLASS_HULL_STAND_MAX Vector( 30.0f, 30.0f, 106.0f ) +#define SUPPORTCLASS_VIEWOFFSET_STAND Vector( 0.0f, 0.0f, 120.0f ) + +#define SUPPORTCLASS_HULL_DUCK_MIN Vector( -30.0f, -30.0f, 0.0f ) +#define SUPPORTCLASS_HULL_DUCK_MAX Vector( 30.0f, 30.0f, 72.0f ) +#define SUPPORTCLASS_VIEWOFFSET_DUCK Vector( 0.0f, 0.0f, 64.0f ) + +#define SUPPORTCLASS_STEPSIZE 27.0f +#endif + +struct PlayerClassSupportData_t +{ + DECLARE_PREDICTABLE(); + + enum { PLAYERCLASS_ID = TFCLASS_SUPPORT }; + +}; + +//============================================================================= +// +// Sapper Class Specific Data +// +#define SAPPERCLASS_HULL_STAND_MIN PLAYERCLASS_HULL_STAND_MIN +#define SAPPERCLASS_HULL_STAND_MAX PLAYERCLASS_HULL_STAND_MAX +#define SAPPERCLASS_VIEWOFFSET_STAND PLAYERCLASS_VIEWOFFSET_STAND + +#define SAPPERCLASS_HULL_DUCK_MIN PLAYERCLASS_HULL_DUCK_MIN +#define SAPPERCLASS_HULL_DUCK_MAX PLAYERCLASS_HULL_DUCK_MAX +#define SAPPERCLASS_VIEWOFFSET_DUCK PLAYERCLASS_VIEWOFFSET_DUCK + +#define SAPPERCLASS_STEPSIZE PLAYERCLASS_STEPSIZE + +struct PlayerClassSapperData_t +{ + DECLARE_PREDICTABLE(); + + enum { PLAYERCLASS_ID = TFCLASS_SAPPER }; +}; + + +#include "tf_shareddefs.h" + + +#endif // TFCLASSDATA_SHARED_H |