Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDalai Felinto <dfelinto@gmail.com>2009-09-03 06:55:23 +0400
committerDalai Felinto <dfelinto@gmail.com>2009-09-03 06:55:23 +0400
commit6239d18d50911959a8d5a40056ef87e7253cc70e (patch)
tree851d3aa90e2dc9f36c8adf80c69f9b8998f108ca /blenderplayer
parentac3f0695a2cf3d5706d8f49b1276579889997990 (diff)
BlenderPlayer linking again for cmake - 148 errors gone.
After talking with Ton and Campbell we agreed that it wouldn't hurt to have blenderplayer again (specially now since BGE is almost 100% working in 2.5). However in order to make it link, I needed to bring back stubs, a lot of so-called bad calls. I'm not sure how we should proceed from here, but it looks like people could start to take a look at source/blenderplayer/bad_level_calls_stubs/stubs.c and fix their own modules/functions ** NOTE: I removed the sound calls from BlenderPlayer. In order to fix it look at //XXX ADD SOUND in GPG_Application.cpp and GPC_Engine *** tested in CMake+MSVC. - Scons is not building !!! (why does the building systems have to be so different?) And someone may like to fix make. (take a look at /trunk/source/blender/blenkernel/bad_level_call_stubs/Makefile ) **** it may work better inside /source/gameengine/GamePlayer
Diffstat (limited to 'blenderplayer')
-rw-r--r--blenderplayer/CMakeLists.txt4
-rw-r--r--blenderplayer/bad_level_call_stubs/CMakeLists.txt40
-rw-r--r--blenderplayer/bad_level_call_stubs/Makefile45
-rw-r--r--blenderplayer/bad_level_call_stubs/SConscript14
-rw-r--r--blenderplayer/bad_level_call_stubs/stubs.c179
5 files changed, 282 insertions, 0 deletions
diff --git a/blenderplayer/CMakeLists.txt b/blenderplayer/CMakeLists.txt
index 0407361b845..35d26662f2f 100644
--- a/blenderplayer/CMakeLists.txt
+++ b/blenderplayer/CMakeLists.txt
@@ -130,4 +130,8 @@ ELSE(UNIX)
TARGET_LINK_LIBRARIES(blenderplayer ${BLENDER_LINK_LIBS})
ENDIF(UNIX)
+IF(WITH_PLAYER)
+ ADD_SUBDIRECTORY(bad_level_call_stubs)
+ENDIF(WITH_PLAYER)
+
SETUP_LIBLINKS(blenderplayer)
diff --git a/blenderplayer/bad_level_call_stubs/CMakeLists.txt b/blenderplayer/bad_level_call_stubs/CMakeLists.txt
new file mode 100644
index 00000000000..abb086b072a
--- /dev/null
+++ b/blenderplayer/bad_level_call_stubs/CMakeLists.txt
@@ -0,0 +1,40 @@
+# $Id$
+# ***** BEGIN GPL LICENSE BLOCK *****
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# The Original Code is Copyright (C) 2006, Blender Foundation
+# All rights reserved.
+#
+# The Original Code is: all of this file.
+#
+# Contributor(s): Jacques Beaurain.
+#
+# ***** END GPL LICENSE BLOCK *****
+
+FILE(GLOB SRC stubs.c)
+
+SET(INC
+ .
+ ..
+ ../../source/blender/makesdna
+ ../../source/blender/makesrna
+)
+
+IF(WITH_INTERNATIONAL)
+ ADD_DEFINITIONS(-DWITH_FREETYPE2)
+ENDIF(WITH_INTERNATIONAL)
+
+BLENDERLIB_NOLIST(blenkernel_blc "${SRC}" "${INC}")
diff --git a/blenderplayer/bad_level_call_stubs/Makefile b/blenderplayer/bad_level_call_stubs/Makefile
new file mode 100644
index 00000000000..1d9f6a27327
--- /dev/null
+++ b/blenderplayer/bad_level_call_stubs/Makefile
@@ -0,0 +1,45 @@
+#
+# $Id$
+#
+# ***** BEGIN GPL LICENSE BLOCK *****
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
+# All rights reserved.
+#
+# The Original Code is: all of this file.
+#
+# Contributor(s): none yet.
+#
+# ***** END GPL LICENSE BLOCK *****
+#
+#
+
+LIBNAME = blenkernel_blc
+DIR = $(OCGDIR)/blenderplayer/$(LIBNAME)
+
+include nan_compile.mk
+
+CFLAGS += $(LEVEL_2_C_WARNINGS)
+CFLAGS += $(FIX_STUBS_WARNINGS)
+
+CPPFLAGS += $(OGL_CPPFLAGS)
+CPPFLAGS += -I../../source/blender/makesdna
+CPPFLAGS += -I../../source/blender/makesrna
+
+# path to our own external headerfiles
+CPPFLAGS += -I..
+
diff --git a/blenderplayer/bad_level_call_stubs/SConscript b/blenderplayer/bad_level_call_stubs/SConscript
new file mode 100644
index 00000000000..bd3df38b557
--- /dev/null
+++ b/blenderplayer/bad_level_call_stubs/SConscript
@@ -0,0 +1,14 @@
+#!/usr/bin/python
+Import ('env')
+
+sources = 'stubs.c'
+
+incs = '. ..'
+incs += '../../source/blender/makesdna'
+incs += '../../source/blender/makesrna'
+
+defs = ''
+if env['WITH_BF_INTERNATIONAL']:
+ defs += 'WITH_FREETYPE2'
+
+env.BlenderLib ('blenkernel_blc', sources = Split(sources), includes=Split(incs), defines=Split(defs), libtype='player',priority=225 )
diff --git a/blenderplayer/bad_level_call_stubs/stubs.c b/blenderplayer/bad_level_call_stubs/stubs.c
new file mode 100644
index 00000000000..b3c18784ccd
--- /dev/null
+++ b/blenderplayer/bad_level_call_stubs/stubs.c
@@ -0,0 +1,179 @@
+/**
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s): none yet.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ * BKE_bad_level_calls function stubs
+ */
+
+#include <stdlib.h>
+#include "dna_listbase.h"
+#include "RNA_types.h"
+
+/*new render funcs */
+float *RE_RenderLayerGetPass(struct RenderLayer *rl, int passtype) {return NULL;}
+float RE_filter_value(int type, float x) {return 0.0f;}
+struct RenderLayer *RE_GetRenderLayer(struct RenderResult *rr, const char *name) {return (struct RenderLayer *)NULL;}
+
+/* zbuf.c stub */
+void antialias_tagbuf(int xsize, int ysize, char *rectmove) {}
+void RE_zbuf_accumulate_vecblur(struct NodeBlurData *nbd, int xsize, int ysize, float *newrect, float *imgrect, float *vecbufrect, float *zbufrect) {}
+
+/* imagetexture.c stub */
+void ibuf_sample(struct ImBuf *ibuf, float fx, float fy, float dx, float dy, float *result) {}
+
+/* texture.c */
+int multitex_thread(struct Tex *tex, float *texvec, float *dxt, float *dyt, int osatex, struct TexResult *texres, short thread, short which_output) {return 0;}
+int multitex_ext(struct Tex *tex, float *texvec, float *dxt, float *dyt, int osatex, struct TexResult *texres){return 0;}
+
+/* nodes */
+struct RenderResult *RE_GetResult(struct Render *re){return (struct RenderResult *) NULL;}
+struct Render *RE_GetRender(const char *name){return (struct Render *) NULL;}
+
+/* blenkernel */
+char* btempdir(){return NULL;}
+void RE_FreeRenderResult(struct RenderResult *res){}
+char* datatoc_bmonofont_ttf(){return NULL;}
+int datatoc_bmonofont_ttf_size(){return 0;}
+struct RenderResult *RE_MultilayerConvert(void *exrhandle, int rectx, int recty){return (struct RenderResult *) NULL;}
+void RE_GetResultImage(struct Render *re, struct RenderResult *rr){}
+int RE_RenderInProgress(struct Render *re){return 0;}
+struct Scene *RE_GetScene(struct Render *re){return (struct Scene *) NULL;}
+void RE_Database_Free(struct Render *re){}
+void RE_FreeRender(struct Render *re){}
+void RE_shade_external(struct Render *re, struct ShadeInput *shi, struct ShadeResult *shr){}
+void RE_DataBase_GetView(struct Render *re, float mat[][4]){}
+int externtex(struct MTex *mtex, float *vec, float *tin, float *tr, float *tg, float *tb, float *ta){return 0;}
+float texture_value_blend(float tex, float out, float fact, float facg, int blendtype, int flip){return 0.0f;}
+void texture_rgb_blend(float *in, float *tex, float *out, float fact, float facg, int blendtype){}
+char stipple_quarttone[1]; //GLubyte stipple_quarttone[128]
+double elbeemEstimateMemreq(int res, float sx, float sy, float sz, int refine, char *retstr) {return 0.0f;}
+char bprogname[]="";
+
+/* rna */
+void WM_event_add_notifier(const struct bContext *C, unsigned int type, void *reference){}
+void ED_armature_bone_rename(struct bArmature *arm, char *oldnamep, char *newnamep){}
+void object_test_constraints (struct Object *owner){}
+void ED_object_parent(struct Object *ob, struct Object *par, int type, const char *substr){}
+void ED_node_composit_default(struct Scene *sce){}
+
+struct EditBone *ED_armature_bone_get_mirrored(struct ListBase *edbo, struct EditBone *ebo){return (struct EditBone *) NULL;}
+struct ListBase *get_active_constraints (struct Object *ob){return (struct ListBase *) NULL;}
+int ED_pose_channel_in_IK_chain(struct Object *ob, struct bPoseChannel *pchan){return 0;}
+
+int ED_space_image_show_uvedit(struct SpaceImage *sima, struct Object *obedit){return 0;}
+int ED_space_image_show_render(struct SpaceImage *sima){return 0;}
+int ED_space_image_show_paint(struct SpaceImage *sima){return 0;}
+void ED_space_image_set(struct bContext *C, struct SpaceImage *sima, struct Scene *scene, struct Object *obedit, struct Image *ima){}
+struct ImBuf *ED_space_image_buffer(struct SpaceImage *sima){return (struct ImBuf *) NULL;}
+
+struct PTCacheEdit *PE_get_current(struct Scene *scene, struct Object *ob){return (struct PTCacheEdit *) NULL;}
+
+/* rna editors */
+char *ED_info_stats_string(struct Scene *scene){return NULL;}
+void ED_area_tag_redraw(struct ScrArea *sa){}
+void WM_event_add_fileselect(struct bContext *C, struct wmOperator *op){}
+void ED_node_texture_default(struct Tex *tx){}
+int text_file_modified(struct Text *text){return 0;}
+void ED_node_shader_default(struct Material *ma){}
+void ED_screen_animation_timer_update(struct bContext *C, int redraws){}
+int ED_object_modifier_remove(struct ReportList *reports, struct Scene *scene, struct Object *ob, struct ModifierData *md){return 0;}
+int ED_object_modifier_add(struct ReportList *reports, struct Scene *scene, struct Object *ob, int type){return 0;}
+int uiLayoutGetActive(struct uiLayout *layout){return 0;}
+int uiLayoutGetOperatorContext(struct uiLayout *layout){return 0;}
+int uiLayoutGetAlignment(struct uiLayout *layout){return 0;}
+int uiLayoutGetEnabled(struct uiLayout *layout){return 0;}
+float uiLayoutGetScaleX(struct uiLayout *layout){return 0.0f;}
+float uiLayoutGetScaleY(struct uiLayout *layout){return 0.0f;}
+void uiLayoutSetActive(struct uiLayout *layout, int active){}
+void uiLayoutSetOperatorContext(struct uiLayout *layout, int opcontext){}
+void uiLayoutSetEnabled(struct uiLayout *layout, int enabled){}
+void uiLayoutSetAlignment(struct uiLayout *layout, int alignment){}
+void uiLayoutSetScaleX(struct uiLayout *layout, float scale){}
+void uiLayoutSetScaleY(struct uiLayout *layout, float scale){}
+
+void uiItemR(struct uiLayout *layout, char *name, int icon, struct PointerRNA *ptr, char *propname, int flag){}
+
+PointerRNA uiItemFullO(struct uiLayout *layout, char *name, int icon, char *idname, struct IDProperty *properties, int context, int flag){PointerRNA a; return a;}
+struct uiLayout *uiLayoutRow(struct uiLayout *layout, int align){return (struct uiLayout *) NULL;}
+struct uiLayout *uiLayoutColumn(struct uiLayout *layout, int align){return (struct uiLayout *) NULL;}
+struct uiLayout *uiLayoutColumnFlow(struct uiLayout *layout, int number, int align){return (struct uiLayout *) NULL;}
+struct uiLayout *uiLayoutBox(struct uiLayout *layout){return (struct uiLayout *) NULL;}
+struct uiLayout *uiLayoutSplit(struct uiLayout *layout, float percentage){return (struct uiLayout *) NULL;}
+void uiItemsEnumR(struct uiLayout *layout, struct PointerRNA *ptr, char *propname){}
+void uiItemMenuEnumR(struct uiLayout *layout, char *name, int icon, struct PointerRNA *ptr, char *propname){}
+void uiItemEnumR_string(struct uiLayout *layout, char *name, int icon, struct PointerRNA *ptr, char *propname, char *value){}
+void uiItemPointerR(struct uiLayout *layout, char *name, int icon, struct PointerRNA *ptr, char *propname, struct PointerRNA *searchptr, char *searchpropname){}
+void uiItemsEnumO(struct uiLayout *layout, char *opname, char *propname){}
+void uiItemEnumO_string(struct uiLayout *layout, char *name, int icon, char *opname, char *propname, char *value_str){}
+void uiItemMenuEnumO(struct uiLayout *layout, char *name, int icon, char *opname, char *propname){}
+void uiItemBooleanO(struct uiLayout *layout, char *name, int icon, char *opname, char *propname, int value){}
+void uiItemIntO(struct uiLayout *layout, char *name, int icon, char *opname, char *propname, int value){}
+void uiItemFloatO(struct uiLayout *layout, char *name, int icon, char *opname, char *propname, float value){}
+void uiItemStringO(struct uiLayout *layout, char *name, int icon, char *opname, char *propname, char *value){}
+void uiItemL(struct uiLayout *layout, char *name, int icon){}
+void uiItemM(struct uiLayout *layout, struct bContext *C, char *name, int icon, char *menuname){}
+void uiItemS(struct uiLayout *layout){}
+void uiLayoutSetContextPointer(struct uiLayout *layout, char *name, struct PointerRNA *ptr){}
+
+/* rna template */
+void uiTemplateHeader(struct uiLayout *layout, struct bContext *C, int menus){}
+void uiTemplateID(struct uiLayout *layout, struct bContext *C, struct PointerRNA *ptr, char *propname, char *newop, char *unlinkop){}
+struct uiLayout *uiTemplateModifier(struct uiLayout *layout, struct PointerRNA *ptr){return (struct uiLayout *) NULL;}
+struct uiLayout *uiTemplateConstraint(struct uiLayout *layout, struct PointerRNA *ptr){return (struct uiLayout *) NULL;}
+void uiTemplatePreview(struct uiLayout *layout, struct ID *id, struct ID *parent, struct MTex *slot){}
+void uiTemplateCurveMapping(struct uiLayout *layout, struct CurveMapping *cumap, int type, int compact){}
+void uiTemplateColorRamp(struct uiLayout *layout, struct ColorBand *coba, int expand){}
+void uiTemplateLayers(struct uiLayout *layout, struct PointerRNA *ptr, char *propname){}
+void uiTemplateTriColorSet(struct uiLayout *layout, struct PointerRNA *ptr, char *propname){}
+void uiTemplateImageLayers(struct uiLayout *layout, struct bContext *C, struct Image *ima, struct ImageUser *iuser){}
+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;}
+void uiTemplateRunningJobs(struct uiLayout *layout, struct bContext *C){}
+void uiTemplateOperatorSearch(struct uiLayout *layout){}
+void uiTemplateHeader3D(struct uiLayout *layout, struct bContext *C){}
+void uiTemplate_view3d_select_faceselmenu(struct uiLayout *layout, struct bContext *C){}
+void uiTemplateTextureImage(struct uiLayout *layout, struct bContext *C, struct Tex *tex){}
+
+/* rna render */
+struct RenderResult *RE_engine_begin_result(struct RenderEngine *engine, int x, int y, int w, int h){return (struct RenderResult *) NULL;}
+void RE_engine_update_result(struct RenderEngine *engine, struct RenderResult *result){}
+void RE_engine_end_result(struct RenderEngine *engine, struct RenderResult *result){}
+void RE_engine_update_stats(struct RenderEngine *engine, char *stats, char *info){}
+void RE_layer_load_from_file(struct RenderLayer *layer, struct ReportList *reports, char *filename){}
+void RE_result_load_from_file(struct RenderResult *result, struct ReportList *reports, char *filename){}
+int RE_engine_test_break(struct RenderEngine *engine){return 0;}
+
+/* python */
+struct wmOperatorType *WM_operatortype_find(const char *idname, int quiet){return (struct wmOperatorType *) NULL;}
+struct wmOperatorType *WM_operatortype_first(){return (struct wmOperatorType *) NULL;}
+struct wmOperatorType *WM_operatortype_exists(const char *idname){return (struct wmOperatorType *) NULL;}
+int WM_operator_call_py(struct bContext *C, struct wmOperatorType *ot, struct PointerRNA *properties, struct ReportList *reports){return 0;}
+int WM_operatortype_remove(const char *idname){return 0;}
+void WM_operator_properties_free(struct PointerRNA *ptr){}
+void WM_operator_properties_create(struct PointerRNA *ptr, const char *opstring){}
+void WM_operatortype_append_ptr(void (*opfunc)(struct wmOperatorType*, void*), void *userdata){}
+void WM_operator_bl_idname(char *to, const char *from){}
+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;}
+