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