Game Player links again, added new functions in the stubs
[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
58 char *getIpoCurveName( struct IpoCurve * icu );
59 void insert_vert_ipo(struct IpoCurve *icu, float x, float y);
60 struct IpoCurve *verify_ipocurve(struct ID *id, short a, char *b, char *d, int e);
61 void elbeemDebugOut(char *msg);
62 void fluidsimSettingsFree(struct FluidsimSettings* sb);
63 void fluidsimSettingsCopy(struct FluidsimSettings* sb);
64
65
66 /* readfile.c */
67         /* struct SpaceButs; */
68 void set_rects_butspace(struct SpaceButs *buts){}
69         /* struct SpaceImaSel; */
70 void check_imasel_copy(struct SpaceImaSel *simasel){}
71         /* struct ScrArea; */
72 void unlink_screen(struct bScreen *sc){}
73 void freeAllRad(void){}
74 void free_editText(void){}
75 void free_editArmature(void){}
76 void free_vertexpaint(void){}
77
78 char *getIpoCurveName( struct IpoCurve * icu ) 
79 {
80         return 0;
81 }
82
83 void insert_vert_ipo(struct IpoCurve *icu, float x, float y)
84 {
85 }
86
87
88 struct IpoCurve *verify_ipocurve(struct ID *id, short a, char *b, char *d, int e)
89 {
90         return 0;
91 }
92
93
94 void setscreen(struct bScreen *sc){}
95 void force_draw_all(int header){}
96   /* otherwise the WHILE_SEQ doesn't work */
97         /* struct Sequence; */
98
99 /* MAART: added "seqar = 0; totseq = 0" because the loader will crash without it. */ 
100 void build_seqar(struct ListBase *seqbase, struct Sequence  ***seqar, int *totseq)
101 {
102         *seqar = 0;
103         *totseq = 0;
104 }
105
106 /* blender.c */
107 void mainqenter (unsigned short event, short val){}
108
109 void BPY_do_pyscript(ID *id, short int event){}
110 void BPY_clear_script(Script *script){}
111 void BPY_free_compiled_text(struct Text *text){}
112 void BPY_pydriver_update(void){}
113 float BPY_pydriver_eval(struct IpoDriver *driver)
114 {
115         return 0;
116 }
117 /* depsgraph.c: */
118 struct Object **BPY_pydriver_get_objects(struct IpoDriver *driver)
119 {
120         return 0;
121 }
122 int BPY_button_eval(char *expr, double *value)
123 {
124         return 0;
125 }
126
127 /* writefile.c */
128         /* struct Oops; */
129 void free_oops(struct Oops *oops){}
130 void exit_posemode(int freedata){}
131 void error(char *str, ...){}
132
133 /* anim.c */
134 ListBase editNurb;
135
136 void waitcursor(int val){}
137 void allqueue(unsigned short event, short val){}
138 #define REDRAWVIEW3D    0x4010
139 Material defmaterial;
140
141 /* exotic.c */
142 void load_editMesh(void){}
143 void make_editMesh(void){}
144 void free_editMesh(struct EditMesh *em){}
145 void docentre_new(void){}
146 int saveover(char *str){ return 0;}
147
148 /* image.c */
149 #include "DNA_image_types.h"
150 void free_realtime_image(Image *ima){} // has to become a callback, opengl stuff
151
152 /* ipo.c */
153 void copy_view3d_lock(short val){}      // was a hack, to make scene layer ipo's possible
154
155 /* library.c */
156 void allspace(unsigned short event, short val){}
157 #define OOPS_TEST             2
158
159 /* mball.c */
160 ListBase editelems;
161
162 /* object.c */
163 void BPY_free_scriptlink(ScriptLink *slink){}
164 void BPY_copy_scriptlink(ScriptLink *scriptlink){}
165 float *give_cursor(void){ return 0;}  // become a callback or argument
166
167
168 /* packedFile.c */
169 short pupmenu(char *instr){ return 0;}  // will be general callback
170
171 /* sca.c */
172 #define LEFTMOUSE    0x001      // because of mouse sensor
173
174 /* scene.c */
175 #include "DNA_sequence_types.h"
176 void free_editing(struct Editing *ed){} // scenes and sequences problem...
177 void BPY_do_all_scripts (short int event){}
178
179 /* IKsolver stubs */
180 #include "IK_solver.h"
181
182 IK_Segment *IK_CreateSegment(int flag) { return 0; }
183 void IK_FreeSegment(IK_Segment *seg) {}
184
185 void IK_SetParent(IK_Segment *seg, IK_Segment *parent) {}
186 void IK_SetTransform(IK_Segment *seg, float start[3], float rest_basis[][3], float basis[][3], float length) {}
187 void IK_GetBasisChange(IK_Segment *seg, float basis_change[][3]) {}
188 void IK_GetTranslationChange(IK_Segment *seg, float *translation_change) {};
189 void IK_SetLimit(IK_Segment *seg, IK_SegmentAxis axis, float lower, float upper) {};
190 void IK_SetStiffness(IK_Segment *seg, IK_SegmentAxis axis, float stiffness) {};
191
192 IK_Solver *IK_CreateSolver(IK_Segment *root) { return 0; }
193 void IK_FreeSolver(IK_Solver *solver) {};
194
195 void IK_SolverAddGoal(IK_Solver *solver, IK_Segment *tip, float goal[3], float weight) {}
196 void IK_SolverAddGoalOrientation(IK_Solver *solver, IK_Segment *tip, float goal[][3], float weight) {}
197 int IK_Solve(IK_Solver *solver, float tolerance, int max_iterations) { return 0; }
198
199 /* exotic.c */
200 int BPY_call_importloader(char *name)
201 {
202         return 0;
203 }
204
205
206 /* texture.c */
207 #define FLO 128
208 #define INT     96
209
210
211 char texstr[20][12];    /* buttons.c */
212
213 /* editsca.c */
214 void make_unique_prop_names(char *str) {}
215
216 /* DerivedMesh.c */
217 void bglBegin(int mode) {}
218 void bglVertex3fv(float *vec) {}
219 void bglVertex3f(float x, float y, float z) {}
220 void bglEnd(void) {}
221
222 /* booleanops.c */
223 struct DerivedMesh *NewBooleanDerivedMesh(struct Object *ob, struct Object *ob_select, int int_op_type) { return 0; }
224
225 // bobj read/write debug messages
226 void elbeemDebugOut(char *msg) {}
227 void fluidsimSettingsFree(struct FluidsimSettings* sb) {}
228 void fluidsimSettingsCopy(struct FluidsimSettings* sb) {}
229
230 /*new render funcs */
231 int     externtex(struct MTex *mtex, float *vec, float *tin, float *tr, float *tg, float *tb, float *ta) { return 0; }
232
233 void RE_FreeRenderResult(struct RenderResult *rr) {}
234 void RE_GetResultImage(struct Render *re, struct RenderResult *rr) {}
235 struct RenderResult *RE_MultilayerConvert(void *exrhandle, int rectx, int recty){return NULL;}
236 struct Render *RE_GetRender(const char *name) {return (struct Render *)NULL;}
237 struct RenderResult *RE_GetResult(Render *re) {return (struct RenderResult *)NULL;}
238 float *RE_RenderLayerGetPass(RenderLayer *rl, int passtype) {return NULL;}
239 float RE_filter_value(int type, float x) {return 0.0f;}
240 struct RenderLayer *RE_GetRenderLayer(RenderResult *rr, const char *name) {return (struct RenderLayer *)NULL;}
241 void RE_Database_Free (struct Render *re) {}
242 void RE_FreeRender(Render *re) {}
243 void RE_shade_external(Render *re, ShadeInput *shi, ShadeResult *shr) {}
244 void RE_DataBase_GetView(Render *re, float mat[][4]) {}
245 struct Render *RE_NewRender(const char *name) {return (struct Render *)NULL;}
246 void RE_Database_Baking(struct Render *re, struct Scene *scene, int make_faces) {};
247
248 /* node_composite.c */
249 void RE_zbuf_accumulate_vecblur(struct NodeBlurData *nd, int xsize, int ysize, float *newrect, float *imgrect, float *vecbufrect, float *zbufrect) {}
250
251 int multitex_ext(Tex *tex, float *texvec, float *dxt, float *dyt, int osatex, TexResult *texres)
252 {
253         return 1969;
254 }
255
256 /* verse */
257
258 void post_vertex_create(struct VerseVert *vvert) {}
259 void post_vertex_set_xyz(struct VerseVert *vvert) {}
260 void post_vertex_delete(struct VerseVert *vvert) {}
261 void post_vertex_free_constraint(struct VerseVert *vvert) {}
262 void post_polygon_create(struct VerseFace *vface) {}
263 void post_polygon_set_corner(struct VerseFace *vface) {}
264 void post_polygon_delete(struct VerseFace *vface) {}
265 void post_polygon_free_constraint(struct VerseFace *vface) {}
266 void post_polygon_set_uint8(struct VerseFace *vface) {}
267 void post_node_create(struct VNode *vnode) {}
268 void post_node_destroy(struct VNode *vnode) {}
269 void post_node_name_set(struct VNode *vnode) {}
270 void post_tag_change(struct VTag *vtag) {}
271 void post_taggroup_create(struct VTagGroup *vtaggroup) {}
272 char *verse_client_name(void) { return NULL; }
273 void post_transform(struct VNode *vnode) {}
274 void post_object_free_constraint(struct VNode *vnode) {}
275 void post_link_set(struct VLink *vlink) {}
276 void post_link_destroy(struct VLink *vlink) {}
277 void post_connect_accept(struct VerseSession *session) {}
278 void post_connect_terminated(struct VerseSession *session) {}
279 void post_connect_update(struct VerseSession *session) {}
280 void add_screenhandler(struct bScreen *sc, short eventcode, short val) {}
281 void post_bitmap_dimension_set(struct VNode *vnode) {}
282 void post_bitmap_layer_create(struct VBitmapLayer *vblayer) {}
283 void post_bitmap_layer_destroy(struct VBitmapLayer *vblayer) {}
284 void post_bitmap_tile_set(struct VBitmapLayer *vblayer, unsigned int xs, unsigned int ys) {}
285 void create_meshdata_from_geom_node(struct Mesh *me, struct VNode *vnode) {}
286 void post_geometry_free_constraint(struct VNode *vnode) {}
287 void post_layer_create(struct VLayer *vlayer) {}
288 void post_layer_destroy(struct VLayer *vlayer) {}
289 void post_server_add(void) {}
290  /* Multires/sculpt stubs */
291 void multires_free(struct Multires *mr) {}
292 void multires_set_level(void *ob, void *me_v) {}
293 void multires_calc_level_maps(struct MultiresLevel *lvl) {}
294 struct Multires *multires_copy(struct Multires *orig) {return NULL;}
295 void sculptmode_init(struct Scene *sce) {}
296 void sculptmode_free_all(struct Scene *sce) {}
297
298 /* zbuf.c stub */
299 void antialias_tagbuf(int xsize, int ysize, char *rectmove) {}
300
301 /* imagetexture.c stub */
302 void ibuf_sample(struct ImBuf *ibuf, float fx, float fy, float dx, float dy, float *result) {}
303
304 void update_for_newframe()
305 {
306 }