patch from Sergey Sharybin (nazgul), use buildinfod for the player.
[blender.git] / source / blenderplayer / bad_level_call_stubs / stubs.c
1 /**
2  * $Id$
3  *
4  * ***** BEGIN GPL LICENSE BLOCK *****
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License
8  * as published by the Free Software Foundation; either version 2
9  * of the License, or (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software Foundation,
18  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19  *
20  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
21  * All rights reserved.
22  *
23  * The Original Code is: all of this file.
24  *
25  * Contributor(s): none yet.
26  *
27  * ***** END GPL LICENSE BLOCK *****
28  * BKE_bad_level_calls function stubs
29  */
30
31 #include <stdlib.h>
32 #include "DNA_listBase.h"
33 #include "RNA_types.h"
34
35 /*new render funcs */
36 float *RE_RenderLayerGetPass(struct RenderLayer *rl, int passtype) {return NULL;}
37 float RE_filter_value(int type, float x) {return 0.0f;}
38 struct RenderLayer *RE_GetRenderLayer(struct RenderResult *rr, const char *name) {return (struct RenderLayer *)NULL;}
39
40 /* zbuf.c stub */
41 void antialias_tagbuf(int xsize, int ysize, char *rectmove) {}
42 void RE_zbuf_accumulate_vecblur(struct NodeBlurData *nbd, int xsize, int ysize, float *newrect, float *imgrect, float *vecbufrect, float *zbufrect) {}
43
44 /* imagetexture.c stub */
45 void ibuf_sample(struct ImBuf *ibuf, float fx, float fy, float dx, float dy, float *result) {}
46
47 /* texture.c */
48 int multitex_thread(struct Tex *tex, float *texvec, float *dxt, float *dyt, int osatex, struct TexResult *texres, short thread, short which_output) {return 0;}
49 int multitex_ext(struct Tex *tex, float *texvec, float *dxt, float *dyt, int osatex, struct TexResult *texres){return 0;}
50 int multitex_nodes(struct Tex *tex, float *texvec, float *dxt, float *dyt, int osatex, struct TexResult *texres, short thread, short which_output, struct ShadeInput *shi, struct MTex *mtex) {return 0;}
51
52 /* nodes */
53 struct RenderResult *RE_GetResult(struct Render *re){return (struct RenderResult *) NULL;}
54 struct Render *RE_GetRender(const char *name){return (struct Render *) NULL;}
55
56 /* blenkernel */
57 char* btempdir(){return NULL;}
58 void RE_FreeRenderResult(struct RenderResult *res){}
59 char* datatoc_bmonofont_ttf(){return NULL;}
60 int datatoc_bmonofont_ttf_size(){return 0;}
61 struct RenderResult *RE_MultilayerConvert(void *exrhandle, int rectx, int recty){return (struct RenderResult *) NULL;}
62 void RE_GetResultImage(struct Render *re, struct RenderResult *rr){}
63 int RE_RenderInProgress(struct Render *re){return 0;}
64 struct Scene *RE_GetScene(struct Render *re){return (struct Scene *) NULL;}
65 void RE_Database_Free(struct Render *re){}
66 void RE_FreeRender(struct Render *re){}
67 void RE_shade_external(struct Render *re, struct ShadeInput *shi, struct ShadeResult *shr){}
68 void RE_DataBase_GetView(struct Render *re, float mat[][4]){}
69 int externtex(struct MTex *mtex, float *vec, float *tin, float *tr, float *tg, float *tb, float *ta){return 0;}
70 float texture_value_blend(float tex, float out, float fact, float facg, int blendtype, int flip){return 0.0f;}
71 void texture_rgb_blend(float *in, float *tex, float *out, float fact, float facg, int blendtype){}
72 char stipple_quarttone[1]; //GLubyte stipple_quarttone[128]
73 double elbeemEstimateMemreq(int res, float sx, float sy, float sz, int refine, char *retstr) {return 0.0f;}
74 struct Render *RE_NewRender(const char *name){return (struct Render*) NULL;}
75 void RE_BlenderFrame(struct Render *re, struct Scene *scene, int frame){}
76
77 /* rna */
78 void WM_menutype_free(void){}
79 void WM_menutype_freelink(struct MenuType* mt){}
80 int WM_menutype_add(struct MenuType *mt) {return 0;}
81 struct MenuType *WM_menutype_find(const char *idname, int quiet){return (struct MenuType *) NULL;}
82
83 void WM_autosave_init(struct bContext *C){}
84 void WM_jobs_stop_all(struct wmWindowManager *wm){}
85
86 struct wmKeyMapItem *WM_keymap_item_find_id(struct wmKeyMap *keymap, int id){return (struct wmKeyMapItem *) NULL;}
87 int WM_enum_search_invoke(struct bContext *C, struct wmOperator *op, struct wmEvent *event){return 0;}
88 void WM_event_add_notifier(const struct bContext *C, unsigned int type, void *reference){}
89 void WM_main_add_notifier(unsigned int type, void *reference){}
90 void ED_armature_bone_rename(struct bArmature *arm, char *oldnamep, char *newnamep){}
91 struct wmEventHandler *WM_event_add_modal_handler(struct bContext *C, struct wmOperator *op){return (struct wmEventHandler *)NULL;};
92 void ED_armature_edit_bone_remove(struct bArmature *arm, struct EditBone *exBone){}
93 void object_test_constraints (struct Object *owner){}
94 void ED_object_parent(struct Object *ob, struct Object *par, int type, const char *substr){}
95 void ED_object_constraint_set_active(struct Object *ob, struct bConstraint *con){}
96 void ED_node_composit_default(struct Scene *sce){}
97 void *ED_region_draw_cb_activate(struct ARegionType *art, void(*draw)(const struct bContext *, struct ARegion *, void *), void *custumdata, int type){return 0;}
98 void *ED_region_draw_cb_customdata(void *handle){return 0;}
99 void ED_region_draw_cb_exit(struct ARegionType *art, void *handle){}
100
101 struct EditBone *ED_armature_bone_get_mirrored(struct ListBase *edbo, struct EditBone *ebo){return (struct EditBone *) NULL;}
102 struct EditBone *ED_armature_edit_bone_add(struct bArmature *arm, char *name){return (struct EditBone*) NULL;}
103 struct ListBase *get_active_constraints (struct Object *ob){return (struct ListBase *) NULL;}
104 struct ListBase *get_constraint_lb(struct Object *ob, struct bConstraint *con, struct bPoseChannel **pchan_r){return (struct ListBase *) NULL;}
105 int ED_pose_channel_in_IK_chain(struct Object *ob, struct bPoseChannel *pchan){return 0;}
106
107 int ED_space_image_show_uvedit(struct SpaceImage *sima, struct Object *obedit){return 0;}
108 int ED_space_image_show_render(struct SpaceImage *sima){return 0;}
109 int ED_space_image_show_paint(struct SpaceImage *sima){return 0;}
110 void ED_space_image_set(struct bContext *C, struct SpaceImage *sima, struct Scene *scene, struct Object *obedit, struct Image *ima){}
111 struct ImBuf *ED_space_image_buffer(struct SpaceImage *sima){return (struct ImBuf *) NULL;}
112 void    ED_screen_set_scene(struct bContext *C, struct Scene *scene){}
113
114 struct PTCacheEdit *PE_get_current(struct Scene *scene, struct Object *ob){return (struct PTCacheEdit *) NULL;}
115 void PE_current_changed(struct Scene *scene, struct Object *ob){}
116
117 /* rna keymap */
118 struct wmKeyMap *WM_keymap_active(struct wmWindowManager *wm, struct wmKeyMap *keymap){return (struct wmKeyMap *) NULL;}
119 struct wmKeyMap *WM_keymap_find(struct wmKeyConfig *keyconf, char *idname, int spaceid, int regionid){return (struct wmKeyMap *) NULL;}
120 struct wmKeyMap *WM_keymap_add_item(struct wmKeyMap *keymap, char *idname, int type, int val, int modifier, int keymodifier){return (struct wmKeyMap *) NULL;}
121 struct wmKeyMap *WM_keymap_copy_to_user(struct wmKeyMap *kemap){return (struct wmKeyMap *) NULL;} 
122 struct wmKeyMap *WM_keymap_list_find(struct ListBase *lb, char *idname, int spaceid, int regionid){return (struct wmKeyMap *) NULL;}
123 struct wmKeyConfig *WM_keyconfig_add(struct wmWindowManager *wm, char *idname){return (struct wmKeyConfig *) NULL;}
124 struct wmKeyConfig *WM_keyconfig_add_user(struct wmWindowManager *wm, char *idname){return (struct wmKeyConfig *) NULL;}
125 void WM_keyconfig_remove(struct wmWindowManager *wm, char *idname){}
126 void WM_keymap_remove_item(struct wmKeyMap *keymap, struct wmKeyMapItem *kmi){}
127 void WM_keymap_restore_to_default(struct wmKeyMap *keymap){}
128 void WM_keymap_restore_item_to_default(struct bContext *C, struct wmKeyMap *keymap, struct wmKeyMapItem *kmi){}
129 void WM_keymap_properties_reset(struct wmKeyMapItem *kmi){}
130 int WM_keymap_user_init(struct wmWindowManager *wm, struct wmKeyMap *keymap) {return 0;}
131 int WM_keymap_item_compare(struct wmKeyMapItem *k1, struct wmKeyMapItem *k2){return 0;}
132
133
134 /* rna editors */
135 short ANIM_add_driver(struct ID *id, const char rna_path[], int array_index, short flag, int type){return 0;}
136 void ED_space_image_release_buffer(struct SpaceImage *sima, void *lock){}
137 struct ImBuf *ED_space_image_acquire_buffer(struct SpaceImage *sima, void **lock_r){return (struct ImBuf *) NULL;}
138 char *ED_info_stats_string(struct Scene *scene){return NULL;}
139 void ED_area_tag_redraw(struct ScrArea *sa){}
140 void ED_area_tag_refresh(struct ScrArea *sa){}
141 void ED_area_newspace(struct bContext *C, struct ScrArea *sa, int type){} 
142 void WM_event_add_fileselect(struct bContext *C, struct wmOperator *op){}
143 void WM_cursor_wait (int val) {}
144 void ED_node_texture_default(struct Tex *tx){}
145 void ED_node_changed_update(struct bContext *C, struct bNode *node){}
146 void ED_view3d_scene_layers_update(struct Main *bmain, struct Scene *scene){}
147 int ED_view3d_scene_layer_set(int lay, const int *values){return 0;}
148 void ED_view3d_quadview_update(struct ScrArea *sa, struct ARegion *ar){}
149 int text_file_modified(struct Text *text){return 0;}
150 void ED_node_shader_default(struct Material *ma){}
151 void ED_screen_animation_timer_update(struct bContext *C, int redraws){}
152 void ED_base_object_select(struct Base *base, short mode){}
153 int ED_object_modifier_remove(struct ReportList *reports, struct Scene *scene, struct Object *ob, struct ModifierData *md){return 0;}
154 int ED_object_modifier_add(struct ReportList *reports, struct Scene *scene, struct Object *ob, char *name, int type){return 0;}
155 void ED_object_enter_editmode(struct bContext *C, int flag){}
156 void ED_object_exit_editmode(struct bContext *C, int flag){}
157 int uiLayoutGetActive(struct uiLayout *layout){return 0;}
158 int uiLayoutGetOperatorContext(struct uiLayout *layout){return 0;}
159 int uiLayoutGetAlignment(struct uiLayout *layout){return 0;}
160 int uiLayoutGetEnabled(struct uiLayout *layout){return 0;}
161 float uiLayoutGetScaleX(struct uiLayout *layout){return 0.0f;}
162 float uiLayoutGetScaleY(struct uiLayout *layout){return 0.0f;}
163 void uiLayoutSetActive(struct uiLayout *layout, int active){}
164 void uiLayoutSetOperatorContext(struct uiLayout *layout, int opcontext){}
165 void uiLayoutSetEnabled(struct uiLayout *layout, int enabled){}
166 void uiLayoutSetAlignment(struct uiLayout *layout, int alignment){}
167 void uiLayoutSetScaleX(struct uiLayout *layout, float scale){}
168 void uiLayoutSetScaleY(struct uiLayout *layout, float scale){}
169 void ED_base_object_free_and_unlink(struct Scene *scene, struct Base *base){}
170 void ED_mesh_calc_normals(struct Mesh *me){}
171 void ED_mesh_geometry_add(struct Mesh *mesh, struct ReportList *reports, int verts, int edges, int faces){}
172 void ED_mesh_material_add(struct Mesh *me, struct Material *ma){}
173 void ED_mesh_transform(struct Mesh *me, float *mat){}
174 void ED_mesh_update(struct Mesh *mesh, struct bContext *C){}
175 int ED_mesh_color_add(struct bContext *C, struct Scene *scene, struct Object *ob, struct Mesh *me){return 0;}
176 int ED_mesh_uv_texture_add(struct bContext *C, struct Scene *scene, struct Object *ob, struct Mesh *me){return 0;}
177 void ED_object_apply_obmat(struct Object *ob){}
178 void ED_object_constraint_dependency_update(struct Scene *scene, struct Object *ob){}
179 void ED_object_constraint_update(struct Object *ob){}
180 struct bDeformGroup *ED_vgroup_add_name(struct Object *ob, char *name){return (struct bDeformGroup *) NULL;}
181 void ED_vgroup_vert_add(struct Object *ob, struct bDeformGroup *dg, int vertnum, float weight, int assignmode){}
182 void ED_sequencer_update_view(struct bContext *C, int view){}
183 float ED_rollBoneToVector(struct EditBone *bone, float new_up_axis[3]){return 0.0f;}
184
185 void EM_selectmode_set(struct EditMesh *em){}
186 void make_editMesh(struct Scene *scene, struct Object *ob){}
187 void load_editMesh(struct Scene *scene, struct Object *ob){}
188
189 void uiItemR(struct uiLayout *layout, char *name, int icon, struct PointerRNA *ptr, char *propname, int flag){}
190
191 PointerRNA uiItemFullO(struct uiLayout *layout, char *name, int icon, char *idname, struct IDProperty *properties, int context, int flag){PointerRNA a; return a;}
192 struct uiLayout *uiLayoutRow(struct uiLayout *layout, int align){return (struct uiLayout *) NULL;}
193 struct uiLayout *uiLayoutColumn(struct uiLayout *layout, int align){return (struct uiLayout *) NULL;}
194 struct uiLayout *uiLayoutColumnFlow(struct uiLayout *layout, int number, int align){return (struct uiLayout *) NULL;}
195 struct uiLayout *uiLayoutBox(struct uiLayout *layout){return (struct uiLayout *) NULL;}
196 struct uiLayout *uiLayoutSplit(struct uiLayout *layout, float percentage, int align){return (struct uiLayout *) NULL;}
197 void uiItemsEnumR(struct uiLayout *layout, struct PointerRNA *ptr, char *propname){}
198 void uiItemMenuEnumR(struct uiLayout *layout, char *name, int icon, struct PointerRNA *ptr, char *propname){}
199 void uiItemEnumR_string(struct uiLayout *layout, char *name, int icon, struct PointerRNA *ptr, char *propname, char *value){}
200 void uiItemPointerR(struct uiLayout *layout, char *name, int icon, struct PointerRNA *ptr, char *propname, struct PointerRNA *searchptr, char *searchpropname){}
201 void uiItemsEnumO(struct uiLayout *layout, char *opname, char *propname){}
202 void uiItemEnumO_string(struct uiLayout *layout, char *name, int icon, char *opname, char *propname, char *value_str){}
203 void uiItemMenuEnumO(struct uiLayout *layout, char *name, int icon, char *opname, char *propname){}
204 void uiItemBooleanO(struct uiLayout *layout, char *name, int icon, char *opname, char *propname, int value){}
205 void uiItemIntO(struct uiLayout *layout, char *name, int icon, char *opname, char *propname, int value){}
206 void uiItemFloatO(struct uiLayout *layout, char *name, int icon, char *opname, char *propname, float value){}
207 void uiItemStringO(struct uiLayout *layout, char *name, int icon, char *opname, char *propname, char *value){}
208 void uiItemL(struct uiLayout *layout, char *name, int icon){}
209 void uiItemM(struct uiLayout *layout, struct bContext *C, char *name, int icon, char *menuname){}
210 void uiItemS(struct uiLayout *layout){}
211 void uiItemFullR(struct uiLayout *layout, char *name, int icon, struct PointerRNA *ptr, struct PropertyRNA *prop, int index, int value, int flag){}
212 void uiLayoutSetContextPointer(struct uiLayout *layout, char *name, struct PointerRNA *ptr){}
213 char *uiLayoutIntrospect(struct uiLayout *layout){return (char *)NULL;}
214
215 /* rna template */
216 void uiTemplateAnyID(struct uiLayout *layout, struct bContext *C, struct PointerRNA *ptr, char *propname, char *text){}
217 void uiTemplatePathBuilder(struct uiLayout *layout, struct bContext *C, struct PointerRNA *ptr, char *propname, struct PointerRNA *root_ptr, char *text){}
218 void uiTemplateHeader(struct uiLayout *layout, struct bContext *C, int menus){}
219 void uiTemplateID(struct uiLayout *layout, struct bContext *C, struct PointerRNA *ptr, char *propname, char *newop, char *unlinkop){}
220 struct uiLayout *uiTemplateModifier(struct uiLayout *layout, struct PointerRNA *ptr){return (struct uiLayout *) NULL;}
221 struct uiLayout *uiTemplateConstraint(struct uiLayout *layout, struct PointerRNA *ptr){return (struct uiLayout *) NULL;}
222 void uiTemplatePreview(struct uiLayout *layout, struct ID *id, struct ID *parent, struct MTex *slot){}
223 void uiTemplateIDPreview(struct uiLayout *layout, struct bContext *C, struct PointerRNA *ptr, char *propname, char *newop, char *openop, char *unlinkop, int rows, int cols){}
224 void uiTemplateCurveMapping(struct uiLayout *layout, struct CurveMapping *cumap, int type, int compact){}
225 void uiTemplateColorRamp(struct uiLayout *layout, struct ColorBand *coba, int expand){}
226 void uiTemplateLayers(struct uiLayout *layout, struct PointerRNA *ptr, char *propname){}
227 void uiTemplateTriColorSet(struct uiLayout *layout, struct PointerRNA *ptr, char *propname){}
228 void uiTemplateImageLayers(struct uiLayout *layout, struct bContext *C, struct Image *ima, struct ImageUser *iuser){}
229 ListBase uiTemplateList(struct uiLayout *layout, struct bContext *C, struct PointerRNA *ptr, char *propname, struct PointerRNA *activeptr, char *activepropname, int rows, int listtype){struct ListBase b = {0,0}; return b;}
230 void uiTemplateRunningJobs(struct uiLayout *layout, struct bContext *C){}
231 void uiTemplateOperatorSearch(struct uiLayout *layout){}
232 void uiTemplateHeader3D(struct uiLayout *layout, struct bContext *C){}
233 void uiTemplateTextureImage(struct uiLayout *layout, struct bContext *C, struct Tex *tex){}
234 void uiTemplateImage(struct uiLayout *layout, struct bContext *C, struct PointerRNA *ptr, char *propname, struct PointerRNA *userptr, int compact){}
235 void uiTemplateDopeSheetFilter(struct uiLayout *layout, struct bContext *C, struct PointerRNA *ptr){}
236 void uiTemplateColorWheel(struct uiLayout *layout, struct PointerRNA *ptr, char *propname, int value_slider){}
237 void uiTemplateHistogram(struct uiLayout *layout, struct PointerRNA *ptr, char *propname, int expand){}
238
239 /* rna render */
240 struct RenderResult *RE_engine_begin_result(struct RenderEngine *engine, int x, int y, int w, int h){return (struct RenderResult *) NULL;}
241 struct RenderResult *RE_AcquireResultRead(struct Render *re){return (struct RenderResult *) NULL;}
242 struct RenderResult *RE_AcquireResultWrite(struct Render *re){return (struct RenderResult *) NULL;}
243 struct RenderStats *RE_GetStats(struct Render *re){return (struct RenderStats *) NULL;}
244 void RE_engine_update_result(struct RenderEngine *engine, struct RenderResult *result){}
245 void RE_engine_end_result(struct RenderEngine *engine, struct RenderResult *result){}
246 void RE_engine_update_stats(struct RenderEngine *engine, char *stats, char *info){}
247 void RE_layer_load_from_file(struct RenderLayer *layer, struct ReportList *reports, char *filename){}
248 void RE_result_load_from_file(struct RenderResult *result, struct ReportList *reports, char *filename){}
249 void RE_AcquireResultImage(struct Render *re, struct RenderResult *rr){}
250 void RE_ReleaseResult(struct Render *re){}
251 void RE_ReleaseResultImage(struct Render *re){}
252 int RE_engine_test_break(struct RenderEngine *engine){return 0;}
253
254 /* python */
255 struct wmOperatorType *WM_operatortype_find(const char *idname, int quiet){return (struct wmOperatorType *) NULL;}
256 struct wmOperatorType *WM_operatortype_first(){return (struct wmOperatorType *) NULL;}
257 struct wmOperatorType *WM_operatortype_exists(const char *idname){return (struct wmOperatorType *) NULL;}
258 struct wmOperatorTypeMacro *WM_operatortype_macro_define(struct wmOperatorType *ot, const char *idname){return (struct wmOperatorTypeMacro *) NULL;}
259 int WM_operator_call_py(struct bContext *C, struct wmOperatorType *ot, int context, struct PointerRNA *properties, struct ReportList *reports){return 0;}
260 int WM_operatortype_remove(const char *idname){return 0;}
261 int WM_operator_poll(struct bContext *C, struct wmOperatorType *ot){return 0;}
262 int WM_operator_props_popup(struct bContext *C, struct wmOperator *op, struct wmEvent *event){return 0;}
263 void WM_operator_properties_free(struct PointerRNA *ptr){}
264 void WM_operator_properties_create(struct PointerRNA *ptr, const char *opstring){}
265 void WM_operator_properties_create_ptr(struct PointerRNA *ptr, struct wmOperatorType *ot){}
266 void WM_operatortype_append_ptr(void (*opfunc)(struct wmOperatorType*, void*), void *userdata){}
267 void WM_operatortype_append_macro_ptr(void (*opfunc)(struct wmOperatorType*, void*), void *userdata){}
268 void WM_operator_bl_idname(char *to, const char *from){}
269 void WM_operator_py_idname(char *to, const char *from){}
270 void WM_operator_ui_popup(struct bContext *C, struct wmOperator *op, int width, int height){}
271 short insert_keyframe (struct ID *id, struct bAction *act, const char group[], const char rna_path[], int array_index, float cfra, short flag){return 0;}
272 short delete_keyframe(struct ID *id, struct bAction *act, const char group[], const char rna_path[], int array_index, float cfra, short flag){return 0;};
273 char *WM_operator_pystring(struct bContext *C, struct wmOperatorType *ot, struct PointerRNA *opptr, int all_args){return NULL;}
274 struct wmKeyMapItem *WM_modalkeymap_add_item(struct wmKeyMap *km, int type, int val, int modifier, int keymodifier, int value){return NULL;}
275 struct wmKeyMap *WM_modalkeymap_add(struct wmKeyConfig *keyconf, char *idname, EnumPropertyItem *items){return NULL;}
276
277 /* intern/decimation */
278 int LOD_FreeDecimationData(struct LOD_Decimation_Info *info){return 0;}
279 int LOD_CollapseEdge(struct LOD_Decimation_Info *info){return 0;}
280 int LOD_PreprocessMesh(struct LOD_Decimation_Info *info){return 0;}
281 int LOD_LoadMesh(struct LOD_Decimation_Info *info){return 0;}
282
283 /* smoke */
284 void lzo1x_1_compress(void) {return;}
285 void LzmaCompress(void) { return; }
286 void lzo1x_decompress(void) {return;}
287 void LzmaUncompress(void) {return;}
288 /* smoke is included anyway
289 void smoke_export(void) {return;}
290 void smoke_init(void) {return;}
291 void smoke_turbulence_init(void) {return;}
292 void smoke_turbulence_initBlenderRNA(void) {return;}
293 void smoke_initBlenderRNA(void) {return;}
294 void smoke_free(void) {return;}
295 void smoke_turbulence_free(void) {return;}
296 void smoke_turbulence_step(void) {return;}
297 void smoke_dissolve(void) {return;}
298 void smoke_get_density(void) {return;}
299 void smoke_get_heat(void) {return;}
300 void smoke_get_velocity_x(void) {return;}
301 void smoke_get_velocity_y(void) {return;}
302 void smoke_get_velocity_z(void) {return;}
303 void smoke_get_obstacle(void) {return;}
304 void smoke_get_index(void) {return;}
305 void smoke_step(void) {return;}
306 */
307
308 char blender_path[] = "";
309
310 /* CSG */
311 struct CSG_BooleanOperation * CSG_NewBooleanFunction( void ){return (struct CSG_BooleanOperation *) NULL;}
312 void CSG_FreeBooleanOperation(struct CSG_BooleanOperation *operation){return;}
313 void CSG_FreeFaceDescriptor(struct CSG_FaceIteratorDescriptor * f_descriptor){return;}
314 void CSG_FreeVertexDescriptor(struct CSG_VertexIteratorDescriptor * v_descriptor){return;}      
315 int CSG_OutputFaceDescriptor(struct CSG_BooleanOperation * operation, struct CSG_FaceIteratorDescriptor * output){return 0;}
316 int CSG_OutputVertexDescriptor(struct CSG_BooleanOperation * operation, struct CSG_VertexIteratorDescriptor *output){return 0;}
317
318 typedef struct CSG_VertexIteratorDescriptor {int a;} CSG_VertexIteratorDescriptor; //workaround to build CSG_PerformanceBoolean Operation
319 typedef struct CSG_FaceIteratorDescriptor {int a;} CSG_FaceIteratorDescriptor; //workaround to build CSG_PerformanceBoolean Operation
320 typedef struct CSG_OperationType {int a;} CSG_OperationType; //workaround to build CSG_PerformanceBoolean Operation
321
322 int CSG_PerformBooleanOperation(
323         struct CSG_BooleanOperation                     *operation,
324         CSG_OperationType                               op_type,
325         CSG_FaceIteratorDescriptor              obAFaces,
326         CSG_VertexIteratorDescriptor    obAVertices,
327         CSG_FaceIteratorDescriptor              obBFaces,
328         CSG_VertexIteratorDescriptor    obBVertices)
329         { return 0;}