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