diff options
Diffstat (limited to 'utils/hlfaceposer/expclass.h')
| -rw-r--r-- | utils/hlfaceposer/expclass.h | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/utils/hlfaceposer/expclass.h b/utils/hlfaceposer/expclass.h new file mode 100644 index 0000000..2a1b777 --- /dev/null +++ b/utils/hlfaceposer/expclass.h @@ -0,0 +1,74 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//=============================================================================// + +#ifndef EXPCLASS_H +#define EXPCLASS_H +#ifdef _WIN32 +#pragma once +#endif + +#include "utlvector.h" + +class CExpression; + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +class CExpClass +{ +public: + + CExpClass( const char *classname ); + virtual ~CExpClass( void ); + + void Save( void ); + void Export( void ); + + void CheckBitmapConsistency( void ); + void ReloadBitmaps( void ); + + const char *GetName() const; + const char *GetBaseName() const; + const char *GetFileName() const; + void SetFileName( const char *filename ); + + CExpression *AddExpression( const char *name, const char *description, float *flexsettings, float *flexweights, bool selectnewitem, bool bDirtyClass ); + CExpression *FindExpression( const char *name ); + int FindExpressionIndex( CExpression *exp ); + void DeleteExpression( const char *name ); + + int GetNumExpressions( void ); + CExpression *GetExpression( int num ); + + bool GetDirty( void ); + void SetDirty( bool dirty ); + + void SelectExpression( int num, bool deselect = true ); + int GetSelectedExpression( void ); + void DeselectExpression( void ); + + void SwapExpressionOrder( int exp1, int exp2 ); + + // Get index of this class in the global class list + int GetIndex( void ); + + bool IsPhonemeClass( void ) const; + +private: + + void BuildValidChecksums( CUtlRBTree< CRC32_t > &tree ); + + char m_szBaseName[ 128 ]; // name w/out any subdirectory names + char m_szClassName[ 128 ]; + char m_szFileName[ 128 ]; + bool m_bDirty; + int m_nSelectedExpression; + CUtlVector < CExpression > m_Expressions; + + bool m_bIsPhonemeClass; +}; +#endif // EXPCLASS_H |