diff options
Diffstat (limited to 'public/tools')
| -rw-r--r-- | public/tools/bonelist.cpp | 72 | ||||
| -rw-r--r-- | public/tools/bonelist.h | 54 |
2 files changed, 126 insertions, 0 deletions
diff --git a/public/tools/bonelist.cpp b/public/tools/bonelist.cpp new file mode 100644 index 0000000..be772a9 --- /dev/null +++ b/public/tools/bonelist.cpp @@ -0,0 +1,72 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +//============================================================================= + +#include "cbase.h" +#include "bonelist.h" + +// memdbgon must be the last include file in a .cpp file!!! +#include "tier0/memdbgon.h" + +CBoneList::CBoneList() +{ + m_bShouldDelete = false; + m_nBones = 0; + Q_memset( m_vecPos, 0, sizeof( m_vecPos ) ); + Q_memset( m_quatRot, 0, sizeof( m_quatRot ) ); +} + +void CBoneList::Release() +{ + if (m_bShouldDelete ) + { + delete this; + } + else + { + Warning( "Called Release() on CBoneList not allocated via Alloc() method\n" ); + } +} + +CBoneList *CBoneList::Alloc() +{ + CBoneList *newList = new CBoneList; + Assert( newList ); + if ( newList ) + { + newList->m_bShouldDelete = true; + } + return newList; +} + +CFlexList::CFlexList() +{ + m_bShouldDelete = false; + m_nNumFlexes = 0; + Q_memset( m_flexWeights, 0, sizeof( m_flexWeights ) ); +} + +void CFlexList::Release() +{ + if (m_bShouldDelete ) + { + delete this; + } + else + { + Warning( "Called Release() on CFlexList not allocated via Alloc() method\n" ); + } +} + +CFlexList *CFlexList::Alloc() +{ + CFlexList *newList = new CFlexList; + Assert( newList ); + if ( newList ) + { + newList->m_bShouldDelete = true; + } + return newList; +}
\ No newline at end of file diff --git a/public/tools/bonelist.h b/public/tools/bonelist.h new file mode 100644 index 0000000..dbb3972 --- /dev/null +++ b/public/tools/bonelist.h @@ -0,0 +1,54 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +//============================================================================= + +#ifndef BONELIST_H +#define BONELIST_H +#ifdef _WIN32 +#pragma once +#endif + +#include "studio.h" + +class CBoneList +{ +public: + + CBoneList(); + + void Release(); + + static CBoneList *Alloc(); + +public: + + int m_nBones; + Vector m_vecPos[ MAXSTUDIOBONES ]; + Quaternion m_quatRot[ MAXSTUDIOBONES ]; + +private: + bool m_bShouldDelete; +}; + +class CFlexList +{ +public: + + CFlexList(); + + void Release(); + + static CFlexList *Alloc(); + +public: + + int m_nNumFlexes; + float m_flexWeights[ MAXSTUDIOFLEXCTRL ]; + +private: + bool m_bShouldDelete; +}; + +#endif // BONELIST_H |