mirror of
https://github.com/nillerusr/source-engine.git
synced 2026-08-09 18:29:35 +00:00
1
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user