summaryrefslogtreecommitdiff
path: root/game/shared/tf2/tfclassdata_shared.h
diff options
context:
space:
mode:
authorFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
committerFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
commit3bf9df6b2785fa6d951086978a3e66f49427166a (patch)
tree2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /game/shared/tf2/tfclassdata_shared.h
downloadarchived-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.h368
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