7beab9770fdc3e40f9206916f92295c574a6c736
[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 char btempdir[1];
53
54 struct IpoCurve;
55 struct FluidsimSettings;
56 struct Render;
57 struct RenderResult;
58 struct Object;
59 struct bPythonConstraint;
60 struct bConstraintOb;
61 struct bConstraintTarget;
62 struct ListBase;
63
64 char *getIpoCurveName( struct IpoCurve * icu );
65 void insert_vert_icu(struct IpoCurve *icu, float x, float y, short fast);
66 struct IpoCurve *verify_ipocurve(struct ID *id, short a, char *b, char *d, int e);
67 void elbeemDebugOut(char *msg);
68 void fluidsimSettingsFree(struct FluidsimSettings* sb);
69 void fluidsimSettingsCopy(struct FluidsimSettings* sb);
70
71
72 /* readfile.c */
73         /* struct SpaceButs; */
74 void set_rects_butspace(struct SpaceButs *buts){}
75         /* struct SpaceImaSel; */
76 void check_imasel_copy(struct SpaceImaSel *simasel){}
77         /* struct ScrArea; */
78 void unlink_screen(struct bScreen *sc){}
79 void freeAllRad(void){}
80 void free_editText(void){}
81 void free_editArmature(void){}
82 void free_vertexpaint(void){}
83
84 char *getIpoCurveName( struct IpoCurve * icu ) 
85 {
86         return 0;
87 }
88
89 void insert_vert_icu(struct IpoCurve *icu, float x, float y, short fast)
90 {
91 }
92
93
94 struct IpoCurve *verify_ipocurve(struct ID *id, short a, char *b, char *d, int e)
95 {
96         return 0;
97 }
98
99
100 void setscreen(struct bScreen *sc){}
101 void force_draw_all(int header){}
102   /* otherwise the WHILE_SEQ doesn't work */
103         /* struct Sequence; */
104
105 /* MAART: added "seqar = 0; totseq = 0" because the loader will crash without it. */ 
106 void build_seqar(struct ListBase *seqbase, struct Sequence  ***seqar, int *totseq)
107 {
108         *seqar = 0;
109         *totseq = 0;
110 }
111
112 /* blender.c */
113 void mainqenter (unsigned short event, short val){}
114
115 void BPY_do_pyscript(ID *id, short int event){}
116 void BPY_clear_script(Script *script){}
117 void BPY_free_compiled_text(struct Text *text){}
118 void BPY_pydriver_update(void){}
119 float BPY_pydriver_eval(struct IpoDriver *driver)
120 {
121         return 0;
122 }
123 int EXPP_dict_set_item_str(struct PyObject *dict, char *key, struct PyObject *value)
124 {
125         return 0;
126 }
127 void Node_SetStack(struct BPy_Node *self, struct bNodeStack **stack, int type){}
128 void InitNode(struct BPy_Node *self, struct bNode *node){}
129 void Node_SetShi(struct BPy_Node *self, struct ShadeInput *shi){}
130 struct BPy_NodeSockets *Node_CreateSockets(struct bNode *node)
131 {
132         return 0;
133 }
134 int pytype_is_pynode(struct PyObject *pyob)
135 {
136         return 0;
137 }
138 /* depsgraph.c: */
139 struct Object **BPY_pydriver_get_objects(struct IpoDriver *driver)
140 {
141         return 0;
142 }
143 int BPY_button_eval(char *expr, double *value)
144 {
145         return 0;
146 }
147
148 /* PyConstraints - BPY_interface.c */
149 void BPY_pyconstraint_eval(struct bPythonConstraint *con, struct bConstraintOb *cob, struct ListBase *targets)
150 {
151 }
152 void BPY_pyconstraint_target(struct bPythonConstraint *con, struct bConstraintTarget *ct)
153 {
154 }
155
156
157 /* writefile.c */
158         /* struct Oops; */
159 void free_oops(struct Oops *oops){}
160 void exit_posemode(int freedata){}
161 void error(char *str, ...){}
162
163 /* anim.c */
164 ListBase editNurb;
165
166 void waitcursor(int val){}
167 void allqueue(unsigned short event, short val){}
168 #define REDRAWVIEW3D    0x4010
169 Material defmaterial;
170
171 /* exotic.c */
172 void load_editMesh(void){}
173 void make_editMesh(void){}
174 void free_editMesh(struct EditMesh *em){}
175 void docenter_new(void){}
176 int saveover(char *str){ return 0;}
177
178 /* image.c */
179 #include "DNA_image_types.h"
180 void free_realtime_image(Image *ima){} // has to become a callback, opengl stuff
181
182 /* ipo.c */
183 void copy_view3d_lock(short val){}      // was a hack, to make scene layer ipo's possible
184
185 /* library.c */
186 void allspace(unsigned short event, short val){}
187 #define OOPS_TEST             2
188
189 /* mball.c */
190 ListBase editelems;
191
192 /* object.c */
193 void BPY_free_scriptlink(ScriptLink *slink){}
194 void BPY_copy_scriptlink(ScriptLink *scriptlink){}
195 float *give_cursor(void){ return 0;}  // become a callback or argument
196
197
198 /* packedFile.c */
199 short pupmenu(char *instr){ return 0;}  // will be general callback
200
201 /* sca.c */
202 #define LEFTMOUSE    0x001      // because of mouse sensor
203
204 /* scene.c */
205 #include "DNA_sequence_types.h"
206 void free_editing(struct Editing *ed){} // scenes and sequences problem...
207 void BPY_do_all_scripts (short int event){}
208
209 /*editmesh_lib.c*/
210 void EM_select_face(struct EditFace *efa, int sel) {}
211 void EM_select_edge(struct EditEdge *eed, int sel) {}
212
213 /*editmesh.c*/
214 struct EditVert *addvertlist(float *vec, struct EditVert *example) { return 0;}
215 struct EditEdge *addedgelist(struct EditVert *v1, struct EditVert *v2, struct EditEdge *example) { return 0;}
216 struct EditFace *addfacelist(struct EditVert *v1, struct EditVert *v2, struct EditVert *v3, struct EditVert *v4, struct EditFace *example, struct EditFace *exampleEdges) { return 0;}
217
218 /*edit.c*/
219
220 void countall(void) {}
221
222
223 /* IKsolver stubs */
224 #include "IK_solver.h"
225
226 IK_Segment *IK_CreateSegment(int flag) { return 0; }
227 void IK_FreeSegment(IK_Segment *seg) {}
228
229 void IK_SetParent(IK_Segment *seg, IK_Segment *parent) {}
230 void IK_SetTransform(IK_Segment *seg, float start[3], float rest_basis[][3], float basis[][3], float length) {}
231 void IK_GetBasisChange(IK_Segment *seg, float basis_change[][3]) {}
232 void IK_GetTranslationChange(IK_Segment *seg, float *translation_change) {};
233 void IK_SetLimit(IK_Segment *seg, IK_SegmentAxis axis, float lower, float upper) {};
234 void IK_SetStiffness(IK_Segment *seg, IK_SegmentAxis axis, float stiffness) {};
235
236 IK_Solver *IK_CreateSolver(IK_Segment *root) { return 0; }
237 void IK_FreeSolver(IK_Solver *solver) {};
238
239 void IK_SolverAddGoal(IK_Solver *solver, IK_Segment *tip, float goal[3], float weight) {}
240 void IK_SolverAddGoalOrientation(IK_Solver *solver, IK_Segment *tip, float goal[][3], float weight) {}
241 void IK_SolverSetPoleVectorConstraint(IK_Solver *solver, IK_Segment *tip, float goal[3], float polegoal[3], float poleangle, int getangle) {}
242 float IK_SolverGetPoleAngle(IK_Solver *solver) { return 0.0f; }
243
244 int IK_Solve(IK_Solver *solver, float tolerance, int max_iterations) { return 0; }
245
246 /* exotic.c */
247 int BPY_call_importloader(char *name)
248 {
249         return 0;
250 }
251
252
253 /* texture.c */
254 #define FLO 128
255 #define INT     96
256
257
258 char texstr[20][12];    /* buttons.c */
259
260 /* editsca.c */
261 void make_unique_prop_names(char *str) {}
262
263 /* DerivedMesh.c */
264 void bglBegin(int mode) {}
265 void bglVertex3fv(float *vec) {}
266 void bglVertex3f(float x, float y, float z) {}
267 void bglEnd(void) {}
268
269 /* booleanops.c */
270 struct DerivedMesh *NewBooleanDerivedMesh(struct Object *ob, struct Object *ob_select, int int_op_type) { return 0; }
271
272 // bobj read/write debug messages
273 void elbeemDebugOut(char *msg) {}
274 void fluidsimSettingsFree(struct FluidsimSettings* sb) {}
275 void fluidsimSettingsCopy(struct FluidsimSettings* sb) {}
276
277 /*new render funcs */
278 int     externtex(struct MTex *mtex, float *vec, float *tin, float *tr, float *tg, float *tb, float *ta) { return 0; }
279 void texture_rgb_blend(float *in, float *tex, float *out, float fact, float facg, int blendtype) {}
280 float texture_value_blend(float tex, float out, float fact, float facg, int blendtype, int flip) { return 0; }
281
282 void RE_FreeRenderResult(struct RenderResult *rr) {}
283 void RE_GetResultImage(struct Render *re, struct RenderResult *rr) {}
284 struct RenderResult *RE_MultilayerConvert(void *exrhandle, int rectx, int recty){return NULL;}
285 struct Render *RE_GetRender(const char *name) {return (struct Render *)NULL;}
286 struct RenderResult *RE_GetResult(Render *re) {return (struct RenderResult *)NULL;}
287 float *RE_RenderLayerGetPass(RenderLayer *rl, int passtype) {return NULL;}
288 float RE_filter_value(int type, float x) {return 0.0f;}
289 struct RenderLayer *RE_GetRenderLayer(RenderResult *rr, const char *name) {return (struct RenderLayer *)NULL;}
290 void RE_Database_Free (struct Render *re) {}
291 void RE_FreeRender(Render *re) {}
292 void RE_shade_external(Render *re, ShadeInput *shi, ShadeResult *shr) {}
293 void RE_DataBase_GetView(Render *re, float mat[][4]) {}
294 struct Render *RE_NewRender(const char *name) {return (struct Render *)NULL;}
295 void RE_Database_Baking(struct Render *re, struct Scene *scene, int type, struct Object *actob) {};
296
297
298 /* node_composite.c */
299 void RE_zbuf_accumulate_vecblur(struct NodeBlurData *nd, int xsize, int ysize, float *newrect, float *imgrect, float *vecbufrect, float *zbufrect) {}
300
301 int multitex_ext(Tex *tex, float *texvec, float *dxt, float *dyt, int osatex, TexResult *texres)
302 {
303         return 1969;
304 }
305
306 /* verse */
307
308 void post_vertex_create(struct VerseVert *vvert) {}
309 void post_vertex_set_xyz(struct VerseVert *vvert) {}
310 void post_vertex_delete(struct VerseVert *vvert) {}
311 void post_vertex_free_constraint(struct VerseVert *vvert) {}
312 void post_polygon_create(struct VerseFace *vface) {}
313 void post_polygon_set_corner(struct VerseFace *vface) {}
314 void post_polygon_delete(struct VerseFace *vface) {}
315 void post_polygon_free_constraint(struct VerseFace *vface) {}
316 void post_polygon_set_uint8(struct VerseFace *vface) {}
317 void post_node_create(struct VNode *vnode) {}
318 void post_node_destroy(struct VNode *vnode) {}
319 void post_node_name_set(struct VNode *vnode) {}
320 void post_tag_change(struct VTag *vtag) {}
321 void post_taggroup_create(struct VTagGroup *vtaggroup) {}
322 char *verse_client_name(void) { return NULL; }
323 void post_transform(struct VNode *vnode) {}
324 void post_transform_pos(struct VNode *vnode) {}
325 void post_transform_rot(struct VNode *vnode) {}
326 void post_transform_scale(struct VNode *vnode) {}
327 void post_object_free_constraint(struct VNode *vnode) {}
328 void post_link_set(struct VLink *vlink) {}
329 void post_link_destroy(struct VLink *vlink) {}
330 void post_connect_accept(struct VerseSession *session) {}
331 void post_connect_terminated(struct VerseSession *session) {}
332 void post_connect_update(struct VerseSession *session) {}
333 void add_screenhandler(struct bScreen *sc, short eventcode, short val) {}
334 void post_bitmap_dimension_set(struct VNode *vnode) {}
335 void post_bitmap_layer_create(struct VBitmapLayer *vblayer) {}
336 void post_bitmap_layer_destroy(struct VBitmapLayer *vblayer) {}
337 void post_bitmap_tile_set(struct VBitmapLayer *vblayer, unsigned int xs, unsigned int ys) {}
338 void create_meshdata_from_geom_node(struct Mesh *me, struct VNode *vnode) {}
339 void post_geometry_free_constraint(struct VNode *vnode) {}
340 void post_layer_create(struct VLayer *vlayer) {}
341 void post_layer_destroy(struct VLayer *vlayer) {}
342 void post_server_add(void) {}
343
344 /* zbuf.c stub */
345 void antialias_tagbuf(int xsize, int ysize, char *rectmove) {}
346
347 /* imagetexture.c stub */
348 void ibuf_sample(struct ImBuf *ibuf, float fx, float fy, float dx, float dy, float *result) {}
349
350 void update_for_newframe() {}
351
352 struct FileList;
353 void BIF_filelist_freelib(struct FileList* filelist) {};
354
355 /* edittime.c stub */
356 TimeMarker *get_frame_marker(int frame){return 0;};
357
358 /* editseq.c */
359 Sequence *get_forground_frame_seq(int frame){return 0;};
360
361 /* modifier.c stub */
362 void harmonic_coordinates_bind(struct MeshDeformModifierData *mmd,
363         float (*vertexcos)[3], int totvert, float cagemat[][4]) {}
364
365 /* particle.c */
366 void PE_free_particle_edit(struct ParticleSystem *psys) {}
367 void PE_get_colors(char sel[4], char nosel[4]) {}
368 void PE_recalc_world_cos(struct Object *ob, struct ParticleSystem *psys) {}