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/tf/tf_classdata.h | |
| download | archived-source-engine-2018-hl2-src-master.tar.xz archived-source-engine-2018-hl2-src-master.zip | |
Diffstat (limited to 'game/shared/tf/tf_classdata.h')
| -rw-r--r-- | game/shared/tf/tf_classdata.h | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/game/shared/tf/tf_classdata.h b/game/shared/tf/tf_classdata.h new file mode 100644 index 0000000..513a6e3 --- /dev/null +++ b/game/shared/tf/tf_classdata.h @@ -0,0 +1,103 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +//============================================================================= +#ifndef TF_CLASSDATA_H +#define TF_CLASSDATA_H +#ifdef _WIN32 +#pragma once +#endif + +//----------------------------------------------------------------------------- +// Cache structure for the TF player class data (includes citizen). +//----------------------------------------------------------------------------- +#define MAX_PLAYERCLASS_SOUND_LENGTH 128 +#define TF_NAME_LENGTH 128 + + +#define DEATH_SOUND_FIRST ( DEATH_SOUND_GENERIC ) +#define DEATH_SOUND_LAST ( DEATH_SOUND_EXPLOSION ) +#define DEATH_SOUND_MVM_FIRST ( DEATH_SOUND_GENERIC_MVM ) +#define DEATH_SOUND_MVM_LAST ( DEATH_SOUND_EXPLOSION_MVM ) +#define DEATH_SOUND_GIANT_MVM_FIRST ( DEATH_SOUND_GENERIC_GIANT_MVM ) +#define DEATH_SOUND_GIANT_MVM_LAST ( DEATH_SOUND_EXPLOSION_GIANT_MVM ) + +enum DeathSoundType_t +{ + DEATH_SOUND_GENERIC = 0, + DEATH_SOUND_CRIT, + DEATH_SOUND_MELEE, + DEATH_SOUND_EXPLOSION, + + DEATH_SOUND_GENERIC_MVM, + DEATH_SOUND_CRIT_MVM, + DEATH_SOUND_MELEE_MVM, + DEATH_SOUND_EXPLOSION_MVM, + + DEATH_SOUND_GENERIC_GIANT_MVM, + DEATH_SOUND_CRIT_GIANT_MVM, + DEATH_SOUND_MELEE_GIANT_MVM, + DEATH_SOUND_EXPLOSION_GIANT_MVM, + + DEATH_SOUND_TOTAL +}; + +struct TFPlayerClassData_t +{ + char m_szClassName[TF_NAME_LENGTH]; + char m_szModelName[TF_NAME_LENGTH]; + char m_szHWMModelName[TF_NAME_LENGTH]; + char m_szHandModelName[TF_NAME_LENGTH]; + char m_szLocalizableName[TF_NAME_LENGTH]; + float m_flMaxSpeed; + int m_nMaxHealth; + int m_nMaxArmor; + int m_aWeapons[TF_PLAYER_WEAPON_COUNT]; + int m_aGrenades[TF_PLAYER_GRENADE_COUNT]; + int m_aAmmoMax[TF_AMMO_COUNT]; + int m_aBuildable[TF_PLAYER_BLUEPRINT_COUNT]; + + bool m_bDontDoAirwalk; + bool m_bDontDoNewJump; + + bool m_bParsed; + Vector m_vecThirdPersonOffset; + +#ifdef GAME_DLL + // sounds + char m_szDeathSound[ DEATH_SOUND_TOTAL ][MAX_PLAYERCLASS_SOUND_LENGTH]; +#endif + + TFPlayerClassData_t(); + const char *GetModelName() const; + +#ifdef GAME_DLL + const char *GetDeathSound( int nType ); +#endif + + void Parse( const char *pszClassName ); + void ParseData( KeyValues *pKeyValuesData ); + void AddAdditionalPlayerDeathSounds( void ); +}; + + +class CTFPlayerClassDataMgr : public CAutoGameSystem +{ +public: + + CTFPlayerClassDataMgr(); + virtual bool Init( void ); + TFPlayerClassData_t *Get( unsigned int iClass ); + void AddAdditionalPlayerDeathSounds( void ); +private: + + TFPlayerClassData_t m_aTFPlayerClassData[TF_CLASS_COUNT_ALL]; +}; + +extern CTFPlayerClassDataMgr *g_pTFPlayerClassDataMgr; + +// Legacy. +TFPlayerClassData_t *GetPlayerClassData( unsigned int iClass ); + +#endif // TF_CLASSDATA_H |