This commit is contained in:
FluorescentCIAAfricanAmerican
2020-04-22 12:56:21 -04:00
commit 3bf9df6b27
15370 changed files with 5489726 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// A blank body part
//
//===========================================================================//
#ifndef DMEBLANKBODYPART_H
#define DMEBLANKBODYPART_H
#ifdef _WIN32
#pragma once
#endif
#include "mdlobjects/dmebodypart.h"
//-----------------------------------------------------------------------------
// A blank body part
//-----------------------------------------------------------------------------
class CDmeBlankBodyPart : public CDmeBodyPart
{
DEFINE_ELEMENT( CDmeBlankBodyPart, CDmeBodyPart );
};
#endif // DMEBLANKBODYPART_H

View File

@@ -0,0 +1,43 @@
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Dme version of a body groups. Each body group contains a list
// of LOD lists which are the various options to switch in for that part
// of the body
//
//===========================================================================//
#ifndef DMEBODYGROUP_H
#define DMEBODYGROUP_H
#ifdef _WIN32
#pragma once
#endif
#include "datamodel/dmelement.h"
#include "datamodel/dmattributevar.h"
//-----------------------------------------------------------------------------
// Forward Declarations
//-----------------------------------------------------------------------------
class CDmeBodyPart;
class CDmeLODList;
//-----------------------------------------------------------------------------
// A class representing a body group. Each element of the body parts array
// is an option that can be switched into that part of the body.
//-----------------------------------------------------------------------------
class CDmeBodyGroup : public CDmElement
{
DEFINE_ELEMENT( CDmeBodyGroup, CDmElement );
public:
// Finds a body part by name
CDmeLODList *FindBodyPart( const char *pName );
CDmaElementArray< CDmeBodyPart > m_BodyParts;
};
#endif // DMEBODYGROUP_H

View File

@@ -0,0 +1,43 @@
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Dme version of a list of body groups. Each body group contains a list
// of LOD lists which are the various options to switch in for that part of the body
//
//===========================================================================//
#ifndef DMEBODYGROUPLIST_H
#define DMEBODYGROUPLIST_H
#ifdef _WIN32
#pragma once
#endif
#include "datamodel/dmelement.h"
#include "datamodel/dmattributevar.h"
//-----------------------------------------------------------------------------
// Forward Declarations
//-----------------------------------------------------------------------------
class CDmeBodyGroup;
class CDmeLODList;
//-----------------------------------------------------------------------------
// A class representing a list of body groups
//-----------------------------------------------------------------------------
class CDmeBodyGroupList : public CDmElement
{
DEFINE_ELEMENT( CDmeBodyGroupList, CDmElement );
public:
CDmeBodyGroup *FindBodyGroup( const char *pName );
// Gets the 'main' body part (used for compilation)
CDmeLODList *GetMainBodyPart();
CDmaElementArray< CDmeBodyGroup > m_BodyGroups;
};
#endif // DMEBODYGROUPLIST_H

View File

@@ -0,0 +1,45 @@
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Body part base class
//
// Body parts can be either:
//
// * A list of LODs (DmeLODList)
// * empty (DmeBlankBodyPart)
//
//===========================================================================//
#ifndef DMEBODYPART_H
#define DMEBODYPART_H
#ifdef _WIN32
#pragma once
#endif
#include "datamodel/dmelement.h"
#include "datamodel/dmattributevar.h"
#include "mdlobjects/dmelod.h"
//-----------------------------------------------------------------------------
// A generic body part
//-----------------------------------------------------------------------------
class CDmeBodyPart : public CDmElement
{
DEFINE_ELEMENT( CDmeBodyPart, CDmElement );
public:
// Returns the number of LODs in this body part, can be 0
virtual int LODCount() const { return 0; }
// Returns the root LOD. This is the one with the switch metric 0
virtual CDmeLOD *GetRootLOD() { return NULL; }
// Returns the shadow LOD
virtual CDmeLOD *GetShadowLOD() { return NULL; }
};
#endif // DMEBODYPART_H

View File

@@ -0,0 +1,74 @@
//===== Copyright (c) 1996-2009, Valve Corporation, All rights reserved. ====
//
// Dme version of QC $boneflexdriver
//
//===========================================================================
#ifndef BONEFLEXDRIVER_H
#define BONEFLEXDRIVER_H
#ifdef _WIN32
#pragma once
#endif
// Valve includes
#include "mdlobjects/dmemdllist.h"
//-----------------------------------------------------------------------------
// The control for a DmeBoneFlexDriver
//-----------------------------------------------------------------------------
class CDmeBoneFlexDriverControl : public CDmElement
{
DEFINE_ELEMENT( CDmeBoneFlexDriverControl, CDmElement );
public:
// Sets the bone component to be in the range [STUDIO_BONE_FLEX_TX, STUDIO_BONE_FLEX_RZ]
int SetBoneComponent( int nBoneComponent );
CDmaString m_sFlexControllerName; // Name of flex controller to drive
CDmaVar< int > m_nBoneComponent; // Component of bone to drive flex controller, StudioBoneFlexComponent_t
CDmaVar< float > m_flMin; // Min value of bone component mapped to 0 on flex controller
CDmaVar< float > m_flMax; // Max value of bone component mapped to 1 on flex controller (inches if T, degress if R)
};
//-----------------------------------------------------------------------------
// $QC boneflexdriver
//-----------------------------------------------------------------------------
class CDmeBoneFlexDriver : public CDmeMdlList
{
DEFINE_ELEMENT( CDmeBoneFlexDriver, CDmeMdlList );
public:
virtual CDmAttribute *GetListAttr() { return m_eControlList.GetAttribute(); }
CDmeBoneFlexDriverControl *FindOrCreateControl( const char *pszControlName );
CDmaString m_sBoneName; // Name of bone to drive flex controller
CDmaElementArray< CDmeBoneFlexDriverControl > m_eControlList; // List of flex controllers to drive
};
//-----------------------------------------------------------------------------
// A list of DmeBoneFlexDriver elements
//-----------------------------------------------------------------------------
class CDmeBoneFlexDriverList : public CDmeMdlList
{
DEFINE_ELEMENT( CDmeBoneFlexDriverList, CDmeMdlList );
public:
virtual CDmAttribute *GetListAttr() { return m_eBoneFlexDriverList.GetAttribute(); }
CDmeBoneFlexDriver *FindOrCreateBoneFlexDriver( const char *pszBoneName );
CDmaElementArray< CDmeBoneFlexDriver > m_eBoneFlexDriverList;
};
#endif // BONEFLEXDRIVER_H

View File

@@ -0,0 +1,44 @@
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// A list of DmeBoneWeight elements, replacing QC's $WeightList
//
//===========================================================================//
#ifndef DMEBONEMASK_H
#define DMEBONEMASK_H
#ifdef _WIN32
#pragma once
#endif
#include "datamodel/dmattributevar.h"
#include "mdlobjects/dmemdllist.h"
//-----------------------------------------------------------------------------
// Forward Declarations
//-----------------------------------------------------------------------------
class CDmeBoneWeight;
//-----------------------------------------------------------------------------
// A class representing a list of bone weights
//-----------------------------------------------------------------------------
class CDmeBoneMask : public CDmeMdlList
{
DEFINE_ELEMENT( CDmeBoneMask, CDmeMdlList );
public:
virtual CDmAttribute *GetListAttr() { return m_BoneWeights.GetAttribute(); }
private:
CDmaElementArray< CDmeBoneWeight > m_BoneWeights;
CDmaVar< bool > m_bDefault;
};
#endif // DMEBONEMASK_H

View File

@@ -0,0 +1,43 @@
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// A list of DmeBoneMask elements, representing multiple QC $WeightList's
//
//===========================================================================//
#ifndef DMEBONEMASKLIST_H
#define DMEBONEMASKLIST_H
#ifdef _WIN32
#pragma once
#endif
#include "datamodel/dmattributevar.h"
#include "mdlobjects/dmemdllist.h"
//-----------------------------------------------------------------------------
// Forward Declarations
//-----------------------------------------------------------------------------
class CDmeBoneMask;
//-----------------------------------------------------------------------------
// A class representing a list of bone masks
//-----------------------------------------------------------------------------
class CDmeBoneMaskList : public CDmeMdlList
{
DEFINE_ELEMENT( CDmeBoneMaskList, CDmeMdlList );
public:
virtual CDmAttribute *GetListAttr() { return m_BoneMasks.GetAttribute(); }
private:
CDmaElementArray< CDmeBoneMask > m_BoneMasks;
};
#endif // DMEBONEMASKLIST_H

View File

@@ -0,0 +1,34 @@
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Dme version of a bone weight as in QC $WeightList
//
//===========================================================================//
#ifndef DMEBONEWEIGHT_H
#define DMEBONEWEIGHT_H
#ifdef _WIN32
#pragma once
#endif
#include "datamodel/dmattributevar.h"
#include "datamodel/dmelement.h"
//-----------------------------------------------------------------------------
// A class representing a bone weight
//-----------------------------------------------------------------------------
class CDmeBoneWeight : public CDmElement
{
DEFINE_ELEMENT( CDmeBoneWeight, CDmElement );
public:
CDmaVar< float > m_flWeight;
};
#endif // DMEBONEWEIGHT_H

View File

@@ -0,0 +1,54 @@
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Dme version of a collision model
//
//===========================================================================//
#ifndef DMECOLLISIONMODEL_H
#define DMECOLLISIONMODEL_H
#ifdef _WIN32
#pragma once
#endif
#include "datamodel/dmelement.h"
#include "datamodel/dmattributevar.h"
//-----------------------------------------------------------------------------
// Forward Declarations
//-----------------------------------------------------------------------------
class CDmeModel;
class CDmeDag;
//-----------------------------------------------------------------------------
// A class representing an attachment point
//-----------------------------------------------------------------------------
class CDmeCollisionModel : public CDmElement
{
DEFINE_ELEMENT( CDmeCollisionModel, CDmElement );
public:
CDmaVar< float > m_flMass;
CDmaVar< bool > m_bAutomaticMassComputation;
CDmaVar< float > m_flInertia;
CDmaVar< float > m_flDamping;
CDmaVar< float > m_flRotationalDamping;
CDmaVar< float > m_flDrag;
CDmaVar< float > m_flRollingDrag;
CDmaVar< int > m_nMaxConvexPieces;
CDmaVar< bool > m_bRemove2D;
CDmaVar< bool > m_bConcavePerJoint;
CDmaVar< float > m_flWeldPositionTolerance;
CDmaVar< float > m_flWeldNormalTolerance;
CDmaVar< bool > m_bConcave;
CDmaVar< bool > m_bForceMassCenter;
CDmaVar< Vector > m_vecMassCenter;
CDmaVar< bool > m_bNoSelfCollisions;
CDmaVar< bool > m_bAssumeWorldSpace;
CDmaString m_SurfaceProperty;
};
#endif // DMECOLLISIONMODEL_H

View File

@@ -0,0 +1,46 @@
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Dme version of a hitbox
//
//===========================================================================//
#ifndef DMEHITBOX_H
#define DMEHITBOX_H
#ifdef _WIN32
#pragma once
#endif
#include "movieobjects/dmeshape.h"
//-----------------------------------------------------------------------------
// Forward Declarations
//-----------------------------------------------------------------------------
class CDmeDrawSettings;
struct matrix3x4_t;
//-----------------------------------------------------------------------------
// A class representing an attachment point
//-----------------------------------------------------------------------------
class CDmeHitbox : public CDmeShape
{
DEFINE_ELEMENT( CDmeHitbox, CDmeShape );
public:
virtual void Draw( const matrix3x4_t &shapeToWorld, CDmeDrawSettings *pDrawSettings = NULL );
CDmaString m_SurfaceProperty;
CDmaString m_Group;
CDmaString m_Bone;
CDmaVar< Vector > m_vecMins;
CDmaVar< Vector > m_vecMaxs;
CDmaColor m_RenderColor; // used for visualization
private:
};
#endif // DMEHITBOX_H

View File

@@ -0,0 +1,33 @@
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Dme version of a hitbox set
//
//===========================================================================//
#ifndef DMEHITBOXSET_H
#define DMEHITBOXSET_H
#ifdef _WIN32
#pragma once
#endif
#include "datamodel/dmelement.h"
#include "datamodel/dmattributevar.h"
#include "mdlobjects/dmehitbox.h"
//-----------------------------------------------------------------------------
// A class representing an attachment point
//-----------------------------------------------------------------------------
class CDmeHitboxSet : public CDmElement
{
DEFINE_ELEMENT( CDmeHitboxSet, CDmElement );
public:
CDmaElementArray< CDmeHitbox > m_Hitboxes;
private:
};
#endif // DMEHITBOXSET_H

View File

@@ -0,0 +1,45 @@
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Dme version of a lod
//
//===========================================================================//
#ifndef DMELOD_H
#define DMELOD_H
#ifdef _WIN32
#pragma once
#endif
#include "datamodel/dmelement.h"
#include "datamodel/dmattributevar.h"
//-----------------------------------------------------------------------------
// Forward Declarations
//-----------------------------------------------------------------------------
class CDmeModel;
class CDmeDag;
class CDmeCombinationOperator;
//-----------------------------------------------------------------------------
// A class representing an attachment point
//-----------------------------------------------------------------------------
class CDmeLOD : public CDmElement
{
DEFINE_ELEMENT( CDmeLOD, CDmElement );
public:
// NOTE: It may be possible to eliminate the skeleton here
// and assume the LOD always uses the root skeleton.
CDmaElement< CDmeModel > m_Model;
CDmaElement< CDmeDag > m_Skeleton;
CDmaElement< CDmeCombinationOperator > m_CombinationOperator;
CDmaVar< float > m_flSwitchMetric;
CDmaVar< bool > m_bNoFlex;
CDmaVar< bool > m_bIsShadowLOD;
};
#endif // DMELOD_H

View File

@@ -0,0 +1,47 @@
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Dme version of a list of lods
//
//===========================================================================//
#ifndef DMELODLIST_H
#define DMELODLIST_H
#ifdef _WIN32
#pragma once
#endif
#include "mdlobjects/dmebodypart.h"
//-----------------------------------------------------------------------------
// Forward Declarations
//-----------------------------------------------------------------------------
class CDmeLOD;
//-----------------------------------------------------------------------------
// A class representing a list of LODs
//-----------------------------------------------------------------------------
class CDmeLODList : public CDmeBodyPart
{
DEFINE_ELEMENT( CDmeLODList, CDmeBodyPart );
public:
// Returns the number of LODs in this body part, can be 0
virtual int LODCount() const;
// Returns the root LOD. This is the one with the switch metric 0
virtual CDmeLOD *GetRootLOD();
// Returns the shadow LOD
virtual CDmeLOD *GetShadowLOD();
// NOTE: It may be possible to eliminate the skeleton here
// and assume the LOD always uses the root skeleton.
CDmaElementArray< CDmeLOD > m_LODs;
};
#endif // DMELODLIST_H

View File

@@ -0,0 +1,38 @@
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// A Dme element intended to be a base class for a common pattern of
// MDLOBJECTS, that is an element which contains simply one attribute
// of type AT_ELEMENTARRAY
//
//===========================================================================//
#ifndef DMEMDLLIST_H
#define DMEMDLLIST_H
#ifdef _WIN32
#pragma once
#endif
#include "datamodel/dmattributevar.h"
#include "datamodel/dmelement.h"
//-----------------------------------------------------------------------------
// A base class intended to be used for the common pattern in MDLOBJECTS
// of an element which is nothing but a container for an array of element
// attributes
//-----------------------------------------------------------------------------
class CDmeMdlList : public CDmElement
{
DEFINE_ELEMENT( CDmeMdlList, CDmElement );
public:
virtual CDmAttribute *GetListAttr() { return NULL; }
};
#endif // DMEMDLLIST_H

View File

@@ -0,0 +1,41 @@
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Dme representation of QC: $sequence
//
//===========================================================================//
#ifndef DMESEQUENCE_H
#define DMESEQUENCE_H
#ifdef _WIN32
#pragma once
#endif
#include "datamodel/dmattributevar.h"
#include "datamodel/dmelement.h"
//-----------------------------------------------------------------------------
// Forward declarations
//-----------------------------------------------------------------------------
class CDmeDag;
class CDmeAnimationList;
//-----------------------------------------------------------------------------
// Animation data
//-----------------------------------------------------------------------------
class CDmeSequence : public CDmElement
{
DEFINE_ELEMENT( CDmeSequence, CDmElement );
public:
CDmaElement< CDmeDag > m_Skeleton;
CDmaElement< CDmeAnimationList > m_AnimationList;
};
#endif // DMESEQUENCE_H

View File

@@ -0,0 +1,42 @@
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// A list of DmeSequences's
//
//===========================================================================//
#ifndef DMESEQUENCELIST_H
#define DMESEQUENCELIST_H
#ifdef _WIN32
#pragma once
#endif
#include "datamodel/dmattributevar.h"
#include "mdlobjects/dmemdllist.h"
//-----------------------------------------------------------------------------
// Forward Declarations
//-----------------------------------------------------------------------------
class CDmeSequence;
//-----------------------------------------------------------------------------
// A class representing a list of sequences
//-----------------------------------------------------------------------------
class CDmeSequenceList : public CDmeMdlList
{
DEFINE_ELEMENT( CDmeSequenceList, CDmeMdlList );
public:
virtual CDmAttribute *GetListAttr() { return m_Sequences.GetAttribute(); }
CDmaElementArray< CDmeSequence > m_Sequences;
};
#endif // DMESEQUENCELIST_H

View File

@@ -0,0 +1,31 @@
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose: See notes below
//
//=============================================================================
#include "mdlobjects/mdlobjects.h"
#include "movieobjects/movieobjects.h"
// YOU MUST INCLUDE THIS FILE INTO ANY PROJECT WHICH USES THE mdlobjects.lib FILE
// This hack causes the class factories for the element types to be imported into the compiled code...
// MDL types
USING_ELEMENT_FACTORY( DmeHitbox );
USING_ELEMENT_FACTORY( DmeHitboxSet );
USING_ELEMENT_FACTORY( DmeBodyPart );
USING_ELEMENT_FACTORY( DmeBlankBodyPart );
USING_ELEMENT_FACTORY( DmeLOD );
USING_ELEMENT_FACTORY( DmeLODList );
USING_ELEMENT_FACTORY( DmeCollisionModel );
USING_ELEMENT_FACTORY( DmeBodyGroup );
USING_ELEMENT_FACTORY( DmeBodyGroupList );
USING_ELEMENT_FACTORY( DmeMdlList );
USING_ELEMENT_FACTORY( DmeBoneWeight );
USING_ELEMENT_FACTORY( DmeBoneMask );
USING_ELEMENT_FACTORY( DmeBoneMaskList );
USING_ELEMENT_FACTORY( DmeSequence );
USING_ELEMENT_FACTORY( DmeSequenceList );
USING_ELEMENT_FACTORY( DmeBoneFlexDriverControl );
USING_ELEMENT_FACTORY( DmeBoneFlexDriver );
USING_ELEMENT_FACTORY( DmeBoneFlexDriverList );

View File

@@ -0,0 +1,30 @@
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
//=============================================================================
#ifndef MDLOBJECTS_H
#define MDLOBJECTS_H
#ifdef _WIN32
#pragma once
#endif
#include "mdlobjects/dmehitbox.h"
#include "mdlobjects/dmehitboxset.h"
#include "mdlobjects/dmebodypart.h"
#include "mdlobjects/dmeblankbodypart.h"
#include "mdlobjects/dmelod.h"
#include "mdlobjects/dmelodlist.h"
#include "mdlobjects/dmecollisionmodel.h"
#include "mdlobjects/dmebodygroup.h"
#include "mdlobjects/dmebodygrouplist.h"
#include "mdlobjects/dmemdllist.h"
#include "mdlobjects/dmeboneweight.h"
#include "mdlobjects/dmebonemask.h"
#include "mdlobjects/dmebonemasklist.h"
#include "mdlobjects/dmesequence.h"
#include "mdlobjects/dmesequencelist.h"
#include "mdlobjects/dmeboneflexdriver.h"
#endif // MDLOBJECTS_H