1 /*
2     Copyright (c) 2008-2009 NetAllied Systems GmbH
3 
4 	This file is part of COLLADAMax.
5 
6     Portions of the code are:
7     Copyright (c) 2005-2007 Feeling Software Inc.
8     Copyright (c) 2005-2007 Sony Computer Entertainment America
9 
10     Based on the 3dsMax COLLADASW Tools:
11     Copyright (c) 2005-2006 Autodesk Media Entertainment
12 
13     Licensed under the MIT Open Source License,
14     for details please see LICENSE file or the website
15     http://www.opensource.org/licenses/mit-license.php
16 */
17 
18 
19 #ifndef __COLLADAMAX_PREREQUISITES_H__
20 #define __COLLADAMAX_PREREQUISITES_H__
21 
22 #define UNUSED(a) /**< Removes a piece of code during the pre-process. This macro is useful for these pesky unused variable warnings. */
23 
24 #include "maxversion.h"
25 
26 
27 #if ( MAX_VERSION_MAJOR >= 7 )
28 #  define MAX_7_OR_NEWER
29 #endif
30 #if ( MAX_VERSION_MAJOR == 7 )
31 #  define MAX_7
32 #endif
33 
34 #if ( MAX_VERSION_MAJOR >= 8 )
35 #  define MAX_8_OR_NEWER
36 #endif
37 #if ( MAX_VERSION_MAJOR == 8 )
38 #  define MAX_8
39 #endif
40 
41 #if ( MAX_VERSION_MAJOR >= 9 )
42 #  define MAX_9_OR_NEWER
43 #endif
44 #if ( MAX_VERSION_MAJOR == 9 )
45 #  define MAX_9
46 #endif
47 
48 #if ( MAX_VERSION_MAJOR >= 10 )
49 #  define MAX_2008_OR_NEWER
50 #endif
51 #if ( MAX_VERSION_MAJOR == 10 )
52 #  define MAX_2008
53 #endif
54 
55 #if ( MAX_VERSION_MAJOR >= 11 )
56 #  define MAX_2009_OR_NEWER
57 #endif
58 #if ( MAX_VERSION_MAJOR == 11 )
59 #  define MAX_2009
60 #endif
61 
62 #if ( MAX_VERSION_MAJOR >= 12 )
63 #  define MAX_2010_OR_NEWER
64 #endif
65 #if ( MAX_VERSION_MAJOR == 12 )
66 #  define MAX_2010
67 #endif
68 
69 #if ( MAX_VERSION_MAJOR >= 13 )
70 #  define MAX_2011_OR_NEWER
71 #endif
72 #if ( MAX_VERSION_MAJOR == 13 )
73 #  define MAX_2011
74 #endif
75 
76 #if ( MAX_VERSION_MAJOR >= 14 )
77 #  define MAX_2012_OR_NEWER
78 #endif
79 #if ( MAX_VERSION_MAJOR == 14 )
80 #  define MAX_2012
81 #endif
82 
83 #if ( MAX_VERSION_MAJOR >= 15 )
84 #  define MAX_2013_OR_NEWER
85 #endif
86 #if ( MAX_VERSION_MAJOR == 15 )
87 #  define MAX_2013
88 #endif
89 
90 #if ( MAX_VERSION_MAJOR >= 16 )
91 #  define MAX_2014_OR_NEWER
92 #if ((MAX_2014_SP5 && MAX_VERSION_MAJOR == 16) ||  MAX_VERSION_MAJOR > 16)
93 		#  define MAX_2014_SP5_OR_NEWER
94 	#endif
95 #endif
96 
97 #if ( MAX_VERSION_MAJOR == 16 )
98 #  define MAX_2014
99 #endif
100 
101 #if ( MAX_VERSION_MAJOR >= 17 )
102 #  define MAX_2015_OR_NEWER
103 #endif
104 #if ( MAX_VERSION_MAJOR == 17 )
105 #  define MAX_2015
106 #endif
107 
108 #if ( MAX_VERSION_MAJOR >= 18 )
109 #  define MAX_2016_OR_NEWER
110 #endif
111 #if ( MAX_VERSION_MAJOR == 18 )
112 #  define MAX_2016
113 #endif
114 
115 #if ( MAX_VERSION_MAJOR >= 19 )
116 #  define MAX_2017_OR_NEWER
117 #endif
118 #if ( MAX_VERSION_MAJOR == 19 )
119 #  define MAX_2017
120 #endif
121 
122 #if ( MAX_VERSION_MAJOR >= 20 )
123 #  define MAX_2018_OR_NEWER
124 #endif
125 #if ( MAX_VERSION_MAJOR == 20 )
126 #  define MAX_2018
127 #endif
128 
129 #if ( MAX_VERSION_MAJOR >= 21 )
130 #  define MAX_2019_OR_NEWER
131 #endif
132 #if ( MAX_VERSION_MAJOR == 21 )
133 #  define MAX_2019
134 #endif
135 
136 // Max 2009 requires RTTI to be enabled
137 #ifdef MAX_2009_OR_NEWER
138 #ifndef _CPPRTTI
139 #error "Max 2009 or newer requires RTTI to be enabled. Please enable and try again..."
140 #endif
141 #endif
142 
143 
144 #define TIME_INITIAL_POSE  0
145 //#define TIME_EXPORT_START  0//OPTS->AnimStart()
146 
147 
148 #include <string>
149 #include "COLLADABUURI.h"
150 #include "COLLADABUStringUtils.h"
151 #include "COLLADABUNativeString.h"
152 #include "Math/COLLADABUMathUtils.h"
153 
154 
155 namespace COLLADAMax
156 {
157     typedef COLLADABU::URI URI;
158     typedef COLLADABU::Utils Utils;
159     typedef COLLADABU::StringUtils StringUtils;
160     typedef COLLADABU::NativeString NativeString;
161     typedef COLLADABU::Math::Utils MathUtils;
162 
163     typedef std::string String;
164     typedef std::wstring WideString;
165 }
166 
167 
168 
169 #endif //__COLLADAMAX_PREREQUISITES_H__
170