summaryrefslogtreecommitdiff
path: root/mdllib/mdllib_common.h
diff options
context:
space:
mode:
Diffstat (limited to 'mdllib/mdllib_common.h')
-rw-r--r--mdllib/mdllib_common.h67
1 files changed, 67 insertions, 0 deletions
diff --git a/mdllib/mdllib_common.h b/mdllib/mdllib_common.h
new file mode 100644
index 0000000..24fcd6e
--- /dev/null
+++ b/mdllib/mdllib_common.h
@@ -0,0 +1,67 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+//=============================================================================
+
+#ifndef MDLLIB_COMMON_H
+#define MDLLIB_COMMON_H
+
+#ifdef _WIN32
+#pragma once
+#endif
+
+#include "mdllib/mdllib.h"
+
+#include "platform.h"
+#pragma warning( disable : 4018 )
+#pragma warning( disable : 4389 )
+
+
+
+//-----------------------------------------------------------------------------
+// Purpose: Interface to accessing P4 commands
+//-----------------------------------------------------------------------------
+class CMdlLib : public CBaseAppSystem< IMdlLib >
+{
+public:
+ // Destructor
+ virtual ~CMdlLib();
+
+ //////////////////////////////////////////////////////////////////////////
+ //
+ // Methods of IAppSystem
+ //
+ //////////////////////////////////////////////////////////////////////////
+public:
+ virtual bool Connect( CreateInterfaceFn factory );
+ virtual InitReturnVal_t Init();
+ virtual void *QueryInterface( const char *pInterfaceName );
+ virtual void Shutdown();
+ virtual void Disconnect();
+
+
+ //////////////////////////////////////////////////////////////////////////
+ //
+ // Methods of IMdlLib
+ //
+ //////////////////////////////////////////////////////////////////////////
+public:
+ //
+ // StripModelBuffers
+ // The main function that strips the model buffers
+ // mdlBuffer - mdl buffer, updated, no size change
+ // vvdBuffer - vvd buffer, updated, size reduced
+ // vtxBuffer - vtx buffer, updated, size reduced
+ // ppStripInfo - if nonzero on return will be filled with the stripping info
+ //
+ virtual bool StripModelBuffers( CUtlBuffer &mdlBuffer, CUtlBuffer &vvdBuffer, CUtlBuffer &vtxBuffer, IMdlStripInfo **ppStripInfo );
+
+ //
+ // CreateNewStripInfo
+ // Creates an empty strip info so that it can be reused.
+ //
+ virtual bool CreateNewStripInfo( IMdlStripInfo **ppStripInfo );
+};
+
+#endif // #ifndef MDLLIB_COMMON_H