summaryrefslogtreecommitdiff
path: root/public/movieobjects/dmedccmakefile.h
blob: c8578ff26429dc6b43bb3655b84e88d924cc8c50 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
//========= 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<CUtlString> &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