The revised patch from Leon for new particle effects.
[blender.git] / source / blender / include / BSE_editipo_types.h
1 /**
2  * $Id$
3  *
4  * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License
8  * as published by the Free Software Foundation; either version 2
9  * of the License, or (at your option) any later version. The Blender
10  * Foundation also sells licenses for use in proprietary software under
11  * the Blender License.  See http://www.blender.org/BL/ for information
12  * about this.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  * GNU General Public License for more details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with this program; if not, write to the Free Software Foundation,
21  * Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
22  *
23  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
24  * All rights reserved.
25  *
26  * The Original Code is: all of this file.
27  *
28  * Contributor(s): none yet.
29  *
30  * ***** END GPL/BL DUAL LICENSE BLOCK *****
31  */
32
33 #ifndef BSE_EDITIPO_TYPES_H
34 #define BSE_EDITIPO_TYPES_H
35
36 struct BezTriple;
37
38 // warn these structs are still in ipo.h!
39
40 typedef struct IpoKey {
41         struct IpoKey *next, *prev;
42         short flag, rt;
43         float val;
44         struct BezTriple **data;
45 } IpoKey;
46
47 typedef struct EditIpo {
48         char name[32];  // same length as keyblock->name
49         IpoCurve *icu;
50         short adrcode, flag;
51         short disptype, rt;
52         unsigned int col;
53 } EditIpo;
54
55
56 #define IPOBUTY 17
57
58 #define TOB_IPO 1
59 #define TOB_IPODROT     2
60 #define TOB_IKA 4
61
62 /* disptype */
63 #define IPO_DISPDEGR    1
64 #define IPO_DISPBITS    2
65 #define IPO_DISPTIME    3
66
67 /* ******************** */
68
69 #define OB_TOTIPO       29
70
71 #define OB_LOC_X        1
72 #define OB_LOC_Y        2
73 #define OB_LOC_Z        3
74 #define OB_DLOC_X       4
75 #define OB_DLOC_Y       5
76 #define OB_DLOC_Z       6
77
78 #define OB_ROT_X        7
79 #define OB_ROT_Y        8
80 #define OB_ROT_Z        9
81 #define OB_DROT_X       10
82 #define OB_DROT_Y       11
83 #define OB_DROT_Z       12
84
85 #define OB_SIZE_X       13
86 #define OB_SIZE_Y       14
87 #define OB_SIZE_Z       15
88 #define OB_DSIZE_X      16
89 #define OB_DSIZE_Y      17
90 #define OB_DSIZE_Z      18
91
92 #define OB_LAY          19
93
94 #define OB_TIME         20
95
96 #define OB_EFF_X        21
97 #define OB_EFF_Y        22
98 #define OB_EFF_Z        23
99
100 #define OB_COL_R        21
101 #define OB_COL_G        22
102 #define OB_COL_B        23
103 #define OB_COL_A        24
104
105 #define OB_PD_GRAV      25
106 #define OB_PD_GFALL     26
107 #define OB_PD_SDAMP     27
108 #define OB_PD_RDAMP     28
109 #define OB_PD_PERM      29
110
111
112 /* ******************** */
113
114 #define MA_TOTIPO       32
115
116 #define MA_COL_R        1
117 #define MA_COL_G        2
118 #define MA_COL_B        3
119 #define MA_SPEC_R       4
120 #define MA_SPEC_G       5
121 #define MA_SPEC_B       6
122 #define MA_MIR_R        7
123 #define MA_MIR_G        8
124 #define MA_MIR_B        9
125 #define MA_REF          10
126 #define MA_ALPHA        11
127 #define MA_EMIT         12
128 #define MA_AMB          13
129 #define MA_SPEC         14
130 #define MA_HARD         15
131 #define MA_SPTR         16
132 #define MA_ANG          17
133 #define MA_MODE         18
134 #define MA_HASIZE       19
135
136 #define MA_MAP1         0x20
137 #define MA_MAP2         0x40
138 #define MA_MAP3         0x80
139 #define MA_MAP4         0x100
140 #define MA_MAP5         0x200
141 #define MA_MAP6         0x400
142 #define MA_MAP7         0x800
143 #define MA_MAP8         0x1000
144
145 #define MAP_OFS_X       1
146 #define MAP_OFS_Y       2
147 #define MAP_OFS_Z       3
148 #define MAP_SIZE_X      4
149 #define MAP_SIZE_Y      5
150 #define MAP_SIZE_Z      6
151 #define MAP_R           7
152 #define MAP_G           8
153 #define MAP_B           9
154
155 #define MAP_DVAR        10
156 #define MAP_COLF        11
157 #define MAP_NORF        12
158 #define MAP_VARF        13
159
160 /* ******************** */
161
162 #define SEQ_TOTIPO      1
163
164 #define SEQ_FAC1        1
165
166 /* ******************** */
167
168 #define CU_TOTIPO       1
169
170 #define CU_SPEED        1
171
172 /* ******************** */
173
174 #define KEY_TOTIPO      32
175
176 #define KEY_SPEED       0
177 #define KEY_NR          1
178
179 /* ******************** */
180
181 #define WO_TOTIPO       29
182
183 #define WO_HOR_R        1
184 #define WO_HOR_G        2
185 #define WO_HOR_B        3
186 #define WO_ZEN_R        4
187 #define WO_ZEN_G        5
188 #define WO_ZEN_B        6
189
190 #define WO_EXPOS        7
191
192 #define WO_MISI         8
193 #define WO_MISTDI       9
194 #define WO_MISTSTA      10
195 #define WO_MISTHI       11
196
197 #define WO_STAR_R       12
198 #define WO_STAR_G       13
199 #define WO_STAR_B       14
200 #define WO_STARDIST     15
201 #define WO_STARSIZE     16
202
203 /* ******************** */
204
205 #define LA_TOTIPO       23
206
207 #define LA_ENERGY       1
208 #define LA_COL_R        2
209 #define LA_COL_G        3
210 #define LA_COL_B        4
211 #define LA_DIST         5
212 #define LA_SPOTSI       6
213 #define LA_SPOTBL       7
214 #define LA_QUAD1        8
215 #define LA_QUAD2        9
216 #define LA_HALOINT      10
217
218 /* ******************** */
219
220 #define CAM_TOTIPO      3
221
222 #define CAM_LENS        1
223 #define CAM_STA         2
224 #define CAM_END         3
225
226
227 /* ******************** */
228
229 #define SND_TOTIPO      4
230
231 #define SND_VOLUME      1
232 #define SND_PITCH       2
233 #define SND_PANNING     3
234 #define SND_ATTEN       4
235
236 /* ******************** */
237
238 #define AC_TOTIPO       10      /* Action Ipos */
239
240 #define AC_LOC_X        1
241 #define AC_LOC_Y        2
242 #define AC_LOC_Z        3
243
244 #define AC_SIZE_X       13
245 #define AC_SIZE_Y       14
246 #define AC_SIZE_Z       15
247
248 #define AC_QUAT_W       25
249 #define AC_QUAT_X       26
250 #define AC_QUAT_Y       27
251 #define AC_QUAT_Z       28
252
253 /* ******************** */
254
255 #define CO_TOTIPO       1       /* Constraint Ipos */
256
257 #define CO_ENFORCE      1
258 /*
259 #define CO_TIME         2
260 #define CO_OFFSET_X     3
261 #define CO_OFFSET_Y     4
262 #define CO_OFFSET_Z     5
263 #define CO_ORIENT_X     6
264 #define CO_ORIENT_Y     7
265 #define CO_ORIENT_Z     8
266 #define CO_ROLL         9
267 */
268
269 #endif /*  BSE_EDITIPO_TYPES_H */
270