summaryrefslogtreecommitdiff
path: root/public/tools
diff options
context:
space:
mode:
Diffstat (limited to 'public/tools')
-rw-r--r--public/tools/bonelist.cpp72
-rw-r--r--public/tools/bonelist.h54
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