//========= Copyright Valve Corporation, All rights reserved. ============// // // Describes the way to compile data in DCC files (describes an export step) // //===========================================================================// #ifndef DMEDCCMAKEFILE_H #define DMEDCCMAKEFILE_H #ifdef _WIN32 #pragma once #endif #include "movieobjects/dmemakefile.h" //----------------------------------------------------------------------------- // Describes a source for DCC makefiles //----------------------------------------------------------------------------- class CDmeSourceDCCFile : public CDmeSource { DEFINE_ELEMENT( CDmeSourceDCCFile, CDmeSource ); public: CDmaStringArray m_RootDCCObjects; CDmaVar< int > m_ExportType; // 0 == model, 1 == skeletal animation CDmaVar< float > m_FrameStart; CDmaVar< float > m_FrameEnd; CDmaVar< float > m_FrameIncrement; }; //----------------------------------------------------------------------------- // Strictly here to customize OpenEditor //----------------------------------------------------------------------------- class CDmeSourceMayaFile : public CDmeSourceDCCFile { DEFINE_ELEMENT( CDmeSourceMayaFile, CDmeSourceDCCFile ); }; class CDmeSourceMayaModelFile : public CDmeSourceMayaFile { DEFINE_ELEMENT( CDmeSourceMayaModelFile, CDmeSourceMayaFile ); }; class CDmeSourceMayaAnimationFile : public CDmeSourceMayaFile { DEFINE_ELEMENT( CDmeSourceMayaAnimationFile, CDmeSourceMayaFile ); }; class CDmeSourceXSIFile : public CDmeSourceDCCFile { DEFINE_ELEMENT( CDmeSourceXSIFile, CDmeSourceDCCFile ); }; //----------------------------------------------------------------------------- // Describes a DCC asset //----------------------------------------------------------------------------- class CDmeDCCMakefile : public CDmeMakefile { DEFINE_ELEMENT( CDmeDCCMakefile, CDmeMakefile ); public: virtual void GetOutputs( CUtlVector &fullPaths ); private: virtual CDmElement *CreateOutputElement( ); virtual void DestroyOutputElement( CDmElement *pOutput ); virtual const char *GetOutputDirectoryID() { return "makefiledir:..\\dmx"; } bool m_bFlushFile; }; //----------------------------------------------------------------------------- // Describes a Maya asset //----------------------------------------------------------------------------- class CDmeMayaMakefile : public CDmeDCCMakefile { DEFINE_ELEMENT( CDmeMayaMakefile, CDmeDCCMakefile ); }; //----------------------------------------------------------------------------- // Describes a XSI asset //----------------------------------------------------------------------------- class CDmeXSIMakefile : public CDmeDCCMakefile { DEFINE_ELEMENT( CDmeXSIMakefile, CDmeDCCMakefile ); public: // Compiling is just exporting the data in the file virtual DmeMakefileType_t *GetMakefileType(); virtual DmeMakefileType_t* GetSourceTypes(); }; //----------------------------------------------------------------------------- // Describes a Maya model/animation asset //----------------------------------------------------------------------------- class CDmeMayaModelMakefile : public CDmeMayaMakefile { DEFINE_ELEMENT( CDmeMayaModelMakefile, CDmeMayaMakefile ); public: // Compiling is just exporting the data in the file virtual DmeMakefileType_t *GetMakefileType(); virtual DmeMakefileType_t* GetSourceTypes(); }; class CDmeMayaAnimationMakefile : public CDmeMayaMakefile { DEFINE_ELEMENT( CDmeMayaAnimationMakefile, CDmeMayaMakefile ); public: // Compiling is just exporting the data in the file virtual DmeMakefileType_t *GetMakefileType(); virtual DmeMakefileType_t* GetSourceTypes(); }; //----------------------------------------------------------------------------- // Describes a XSI animation asset //----------------------------------------------------------------------------- class CDmeXSIAnimationMakefile : public CDmeXSIMakefile { DEFINE_ELEMENT( CDmeXSIAnimationMakefile, CDmeXSIMakefile ); }; #endif // DMEDCCMAKEFILE_H