Mesh Deform Modifier
[blender.git] / source / blender / blenkernel / bad_level_call_stubs / stubs.c
1
2 /**
3  * $Id$
4  *
5  * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
6  *
7  * This program is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License
9  * as published by the Free Software Foundation; either version 2
10  * of the License, or (at your option) any later version. The Blender
11  * Foundation also sells licenses for use in proprietary software under
12  * the Blender License.  See http://www.blender.org/BL/ for information
13  * about this.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program; if not, write to the Free Software Foundation,
22  * Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
23  *
24  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
25  * All rights reserved.
26  *
27  * The Original Code is: all of this file.
28  *
29  * Contributor(s): none yet.
30  *
31  * ***** END GPL/BL DUAL LICENSE BLOCK *****
32  * BKE_bad_level_calls function stubs
33  */
34
35 #include <stdlib.h>
36
37 #include "BKE_bad_level_calls.h"
38 #include "BLI_blenlib.h"
39 #include "BPI_script.h"
40 #include "DNA_texture_types.h"
41 #include "DNA_material_types.h"
42 #include "DNA_node_types.h"
43 #include "DNA_scene_types.h"
44
45 #include "RE_render_ext.h"
46 #include "RE_shader_ext.h"
47 #include "RE_pipeline.h"
48
49 int winqueue_break= 0;
50
51 char bprogname[1];
52
53 struct IpoCurve;
54 struct FluidsimSettings;
55 struct Render;
56 struct RenderResult;
57 struct Object;
58 struct bPythonConstraint;
59 struct bConstraintOb;
60 struct bConstraintTarget;
61 struct ListBase;
62
63 char *getIpoCurveName( struct IpoCurve * icu );
64 void insert_vert_icu(struct IpoCurve *icu, float x, float y, short fast);
65 struct IpoCurve *verify_ipocurve(struct ID *id, short a, char *b, char *d, int e);
66 void elbeemDebugOut(char *msg);
67 void fluidsimSettingsFree(struct FluidsimSettings* sb);
68 void fluidsimSettingsCopy(struct FluidsimSettings* sb);
69
70
71 /* readfile.c */
72         /* struct SpaceButs; */
73 void set_rects_butspace(struct SpaceButs *buts){}
74         /* struct SpaceImaSel; */
75 void check_imasel_copy(struct SpaceImaSel *simasel){}
76         /* struct ScrArea; */
77 void unlink_screen(struct bScreen *sc){}
78 void freeAllRad(void){}
79 void free_editText(void){}
80 void free_editArmature(void){}
81 void free_vertexpaint(void){}
82
83 char *getIpoCurveName( struct IpoCurve * icu ) 
84 {
85         return 0;
86 }
87
88 void insert_vert_icu(struct IpoCurve *icu, float x, float y, short fast)
89 {
90 }
91
92
93 struct IpoCurve *verify_ipocurve(struct ID *id, short a, char *b, char *d, int e)
94 {
95         return 0;
96 }
97
98
99 void setscreen(struct bScreen *sc){}
100 void force_draw_all(int header){}
101   /* otherwise the WHILE_SEQ doesn't work */
102         /* struct Sequence; */
103
104 /* MAART: added "seqar = 0; totseq = 0" because the loader will crash without it. */ 
105 void build_seqar(struct ListBase *seqbase, struct Sequence  ***seqar, int *totseq)
106 {
107         *seqar = 0;
108         *totseq = 0;
109 }
110
111 /* blender.c */
112 void mainqenter (unsigned short event, short val){}
113
114 void BPY_do_pyscript(ID *id, short int event){}
115 void BPY_clear_script(Script *script){}
116 void BPY_free_compiled_text(struct Text *text){}
117 void BPY_pydriver_update(void){}
118 float BPY_pydriver_eval(struct IpoDriver *driver)
119 {
120         return 0;
121 }
122 /* depsgraph.c: */
123 struct Object **BPY_pydriver_get_objects(struct IpoDriver *driver)
124 {
125         return 0;
126 }
127 int BPY_button_eval(char *expr, double *value)
128 {
129         return 0;
130 }
131
132 /* PyConstraints - BPY_interface.c */
133 void BPY_pyconstraint_eval(struct bPythonConstraint *con, struct bConstraintOb *cob, struct ListBase *targets)
134 {
135 }
136 void BPY_pyconstraint_target(struct bPythonConstraint *con, struct bConstraintTarget *ct)
137 {
138 }
139
140
141 /* writefile.c */
142         /* struct Oops; */
143 void free_oops(struct Oops *oops){}
144 void exit_posemode(int freedata){}
145 void error(char *str, ...){}
146
147 /* anim.c */
148 ListBase editNurb;
149
150 void waitcursor(int val){}
151 void allqueue(unsigned short event, short val){}
152 #define REDRAWVIEW3D    0x4010
153 Material defmaterial;
154
155 /* exotic.c */
156 void load_editMesh(void){}
157 void make_editMesh(void){}
158 void free_editMesh(struct EditMesh *em){}
159 void docenter_new(void){}
160 int saveover(char *str){ return 0;}
161
162 /* image.c */
163 #include "DNA_image_types.h"
164 void free_realtime_image(Image *ima){} // has to become a callback, opengl stuff
165
166 /* ipo.c */
167 void copy_view3d_lock(short val){}      // was a hack, to make scene layer ipo's possible
168
169 /* library.c */
170 void allspace(unsigned short event, short val){}
171 #define OOPS_TEST             2
172
173 /* mball.c */
174 ListBase editelems;
175
176 /* object.c */
177 void BPY_free_scriptlink(ScriptLink *slink){}
178 void BPY_copy_scriptlink(ScriptLink *scriptlink){}
179 float *give_cursor(void){ return 0;}  // become a callback or argument
180
181
182 /* packedFile.c */
183 short pupmenu(char *instr){ return 0;}  // will be general callback
184
185 /* sca.c */
186 #define LEFTMOUSE    0x001      // because of mouse sensor
187
188 /* scene.c */
189 #include "DNA_sequence_types.h"
190 void free_editing(struct Editing *ed){} // scenes and sequences problem...
191 void BPY_do_all_scripts (short int event){}
192
193 /* IKsolver stubs */
194 #include "IK_solver.h"
195
196 IK_Segment *IK_CreateSegment(int flag) { return 0; }
197 void IK_FreeSegment(IK_Segment *seg) {}
198
199 void IK_SetParent(IK_Segment *seg, IK_Segment *parent) {}
200 void IK_SetTransform(IK_Segment *seg, float start[3], float rest_basis[][3], float basis[][3], float length) {}
201 void IK_GetBasisChange(IK_Segment *seg, float basis_change[][3]) {}
202 void IK_GetTranslationChange(IK_Segment *seg, float *translation_change) {};
203 void IK_SetLimit(IK_Segment *seg, IK_SegmentAxis axis, float lower, float upper) {};
204 void IK_SetStiffness(IK_Segment *seg, IK_SegmentAxis axis, float stiffness) {};
205
206 IK_Solver *IK_CreateSolver(IK_Segment *root) { return 0; }
207 void IK_FreeSolver(IK_Solver *solver) {};
208
209 void IK_SolverAddGoal(IK_Solver *solver, IK_Segment *tip, float goal[3], float weight) {}
210 void IK_SolverAddGoalOrientation(IK_Solver *solver, IK_Segment *tip, float goal[][3], float weight) {}
211 void IK_SolverSetPoleVectorConstraint(IK_Solver *solver, IK_Segment *tip, float goal[3], float polegoal[3], float poleangle, int getangle) {}
212 float IK_SolverGetPoleAngle(IK_Solver *solver) {}
213
214 int IK_Solve(IK_Solver *solver, float tolerance, int max_iterations) { return 0; }
215
216 /* exotic.c */
217 int BPY_call_importloader(char *name)
218 {
219         return 0;
220 }
221
222
223 /* texture.c */
224 #define FLO 128
225 #define INT     96
226
227
228 char texstr[20][12];    /* buttons.c */
229
230 /* editsca.c */
231 void make_unique_prop_names(char *str) {}
232
233 /* DerivedMesh.c */
234 void bglBegin(int mode) {}
235 void bglVertex3fv(float *vec) {}
236 void bglVertex3f(float x, float y, float z) {}
237 void bglEnd(void) {}
238
239 /* booleanops.c */
240 struct DerivedMesh *NewBooleanDerivedMesh(struct Object *ob, struct Object *ob_select, int int_op_type) { return 0; }
241
242 // bobj read/write debug messages
243 void elbeemDebugOut(char *msg) {}
244 void fluidsimSettingsFree(struct FluidsimSettings* sb) {}
245 void fluidsimSettingsCopy(struct FluidsimSettings* sb) {}
246
247 /*new render funcs */
248 int     externtex(struct MTex *mtex, float *vec, float *tin, float *tr, float *tg, float *tb, float *ta) { return 0; }
249
250 void RE_FreeRenderResult(struct RenderResult *rr) {}
251 void RE_GetResultImage(struct Render *re, struct RenderResult *rr) {}
252 struct RenderResult *RE_MultilayerConvert(void *exrhandle, int rectx, int recty){return NULL;}
253 struct Render *RE_GetRender(const char *name) {return (struct Render *)NULL;}
254 struct RenderResult *RE_GetResult(Render *re) {return (struct RenderResult *)NULL;}
255 float *RE_RenderLayerGetPass(RenderLayer *rl, int passtype) {return NULL;}
256 float RE_filter_value(int type, float x) {return 0.0f;}
257 struct RenderLayer *RE_GetRenderLayer(RenderResult *rr, const char *name) {return (struct RenderLayer *)NULL;}
258 void RE_Database_Free (struct Render *re) {}
259 void RE_FreeRender(Render *re) {}
260 void RE_shade_external(Render *re, ShadeInput *shi, ShadeResult *shr) {}
261 void RE_DataBase_GetView(Render *re, float mat[][4]) {}
262 struct Render *RE_NewRender(const char *name) {return (struct Render *)NULL;}
263 void RE_Database_Baking(struct Render *re, struct Scene *scene, int make_faces) {};
264
265
266 /* node_composite.c */
267 void RE_zbuf_accumulate_vecblur(struct NodeBlurData *nd, int xsize, int ysize, float *newrect, float *imgrect, float *vecbufrect, float *zbufrect) {}
268
269 int multitex_ext(Tex *tex, float *texvec, float *dxt, float *dyt, int osatex, TexResult *texres)
270 {
271         return 1969;
272 }
273
274 /* verse */
275
276 void post_vertex_create(struct VerseVert *vvert) {}
277 void post_vertex_set_xyz(struct VerseVert *vvert) {}
278 void post_vertex_delete(struct VerseVert *vvert) {}
279 void post_vertex_free_constraint(struct VerseVert *vvert) {}
280 void post_polygon_create(struct VerseFace *vface) {}
281 void post_polygon_set_corner(struct VerseFace *vface) {}
282 void post_polygon_delete(struct VerseFace *vface) {}
283 void post_polygon_free_constraint(struct VerseFace *vface) {}
284 void post_polygon_set_uint8(struct VerseFace *vface) {}
285 void post_node_create(struct VNode *vnode) {}
286 void post_node_destroy(struct VNode *vnode) {}
287 void post_node_name_set(struct VNode *vnode) {}
288 void post_tag_change(struct VTag *vtag) {}
289 void post_taggroup_create(struct VTagGroup *vtaggroup) {}
290 char *verse_client_name(void) { return NULL; }
291 void post_transform(struct VNode *vnode) {}
292 void post_transform_pos(struct VNode *vnode) {}
293 void post_transform_rot(struct VNode *vnode) {}
294 void post_transform_scale(struct VNode *vnode) {}
295 void post_object_free_constraint(struct VNode *vnode) {}
296 void post_link_set(struct VLink *vlink) {}
297 void post_link_destroy(struct VLink *vlink) {}
298 void post_connect_accept(struct VerseSession *session) {}
299 void post_connect_terminated(struct VerseSession *session) {}
300 void post_connect_update(struct VerseSession *session) {}
301 void add_screenhandler(struct bScreen *sc, short eventcode, short val) {}
302 void post_bitmap_dimension_set(struct VNode *vnode) {}
303 void post_bitmap_layer_create(struct VBitmapLayer *vblayer) {}
304 void post_bitmap_layer_destroy(struct VBitmapLayer *vblayer) {}
305 void post_bitmap_tile_set(struct VBitmapLayer *vblayer, unsigned int xs, unsigned int ys) {}
306 void create_meshdata_from_geom_node(struct Mesh *me, struct VNode *vnode) {}
307 void post_geometry_free_constraint(struct VNode *vnode) {}
308 void post_layer_create(struct VLayer *vlayer) {}
309 void post_layer_destroy(struct VLayer *vlayer) {}
310 void post_server_add(void) {}
311  /* Multires/sculpt stubs */
312 struct MultiresLevel *multires_level_n(struct Multires *mr, int n) {return NULL;}
313 void multires_free(struct Multires *mr) {}
314 void multires_set_level(struct Object *ob, struct Mesh *me, const int render) {}
315 void multires_update_levels(struct Mesh *me, const int render) {}
316 void multires_calc_level_maps(struct MultiresLevel *lvl) {}
317 struct Multires *multires_copy(struct Multires *orig) {return NULL;}
318 void sculptmode_init(struct Scene *sce) {}
319 void sculptmode_free_all(struct Scene *sce) {}
320
321 /* zbuf.c stub */
322 void antialias_tagbuf(int xsize, int ysize, char *rectmove) {}
323
324 /* imagetexture.c stub */
325 void ibuf_sample(struct ImBuf *ibuf, float fx, float fy, float dx, float dy, float *result) {}
326
327 void update_for_newframe() {}
328
329 struct FileList;
330 void BIF_filelist_freelib(struct FileList* filelist) {};
331
332 /* edittime.c stub */
333 TimeMarker *get_frame_marker(int frame){return 0;};
334
335 /* modifier.c stub */
336 void harmonic_coordinates_bind(struct MeshDeformModifierData *mmd,
337         float (*vertexcos)[3], int totvert, float cagemat[][4]) {}
338