diff options
author | Campbell Barton <ideasman42@gmail.com> | 2009-09-30 01:42:40 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2009-09-30 01:42:40 +0400 |
commit | 98ee2a781dd20bb58f72ee5700a11b2dd5124d74 (patch) | |
tree | 44825775e2d4ddc51d2138755b55c46fc17bb617 /source/gameengine/Converter | |
parent | 53f0c3b018a995bbada591351568e4bb217dd1df (diff) |
option to build the BGE without python, uses existing python check (cmake and scons)
when python is disabled videotextures are not built.
Diffstat (limited to 'source/gameengine/Converter')
22 files changed, 99 insertions, 15 deletions
diff --git a/source/gameengine/Converter/BL_ActionActuator.cpp b/source/gameengine/Converter/BL_ActionActuator.cpp index 2f0e3e9fa65..6f3036d8e09 100644 --- a/source/gameengine/Converter/BL_ActionActuator.cpp +++ b/source/gameengine/Converter/BL_ActionActuator.cpp @@ -432,6 +432,8 @@ bool BL_ActionActuator::Update(double curtime, bool frame) return keepgoing; }; +#ifndef DISABLE_PYTHON + /* ------------------------------------------------------------------------- */ /* Python functions */ /* ------------------------------------------------------------------------- */ @@ -675,3 +677,5 @@ PyObject* BL_ActionActuator::pyattr_get_channel_names(void *self_v, const KX_PYA return ret; } + +#endif // DISABLE_PYTHON diff --git a/source/gameengine/Converter/BL_ActionActuator.h b/source/gameengine/Converter/BL_ActionActuator.h index 2e0e38b4cc3..3f3cd5f496d 100644 --- a/source/gameengine/Converter/BL_ActionActuator.h +++ b/source/gameengine/Converter/BL_ActionActuator.h @@ -84,6 +84,8 @@ public: bAction* GetAction() { return m_action; } void SetAction(bAction* act) { m_action= act; } +#ifndef DISABLE_PYTHON + KX_PYMETHOD_O(BL_ActionActuator,GetChannel); KX_PYMETHOD_DOC(BL_ActionActuator,setChannel); @@ -129,6 +131,7 @@ public: return 1; } } +#endif // DISABLE_PYTHON protected: diff --git a/source/gameengine/Converter/BL_ArmatureActuator.cpp b/source/gameengine/Converter/BL_ArmatureActuator.cpp index 741f1cf0553..a018f0f938d 100644 --- a/source/gameengine/Converter/BL_ArmatureActuator.cpp +++ b/source/gameengine/Converter/BL_ArmatureActuator.cpp @@ -175,6 +175,8 @@ bool BL_ArmatureActuator::Update(double curtime, bool frame) return result; } +#ifndef DISABLE_PYTHON + /* ------------------------------------------------------------------------- */ /* Python Integration Hooks */ /* ------------------------------------------------------------------------- */ @@ -261,5 +263,5 @@ PyObject* BL_ArmatureActuator::pyattr_get_constraint(void *self, const struct KX return constraint->GetProxy(); } - +#endif // DISABLE_PYTHON diff --git a/source/gameengine/Converter/BL_ArmatureActuator.h b/source/gameengine/Converter/BL_ArmatureActuator.h index 5a7752b8169..e7e12bc2e4e 100644 --- a/source/gameengine/Converter/BL_ArmatureActuator.h +++ b/source/gameengine/Converter/BL_ArmatureActuator.h @@ -66,11 +66,15 @@ public: virtual bool Update(double curtime, bool frame); virtual void ReParent(SCA_IObject* parent); +#ifndef DISABLE_PYTHON + /* These are used to get and set m_target */ static PyObject* pyattr_get_constraint(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef); static PyObject* pyattr_get_object(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef); static int pyattr_set_object(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef, PyObject *value); +#endif // DISABLE_PYTHON + private: // identify the constraint that this actuator controls void FindConstraint(); diff --git a/source/gameengine/Converter/BL_ArmatureChannel.cpp b/source/gameengine/Converter/BL_ArmatureChannel.cpp index 2f21d4f2978..9a9161b080f 100644 --- a/source/gameengine/Converter/BL_ArmatureChannel.cpp +++ b/source/gameengine/Converter/BL_ArmatureChannel.cpp @@ -37,6 +37,8 @@ #include "BLI_arithb.h" #include "BLI_string.h" +#ifndef DISABLE_PYTHON + PyTypeObject BL_ArmatureChannel::Type = { PyVarObject_HEAD_INIT(NULL, 0) "BL_ArmatureChannel", @@ -74,6 +76,8 @@ PyObject *BL_ArmatureChannel::NewProxy(bool py_owns) return NewProxyPlus_Ext(this, &Type, m_posechannel, py_owns); } +#endif // DISABLE_PYTHON + BL_ArmatureChannel::BL_ArmatureChannel( BL_ArmatureObject *armature, bPoseChannel *posechannel) @@ -85,6 +89,8 @@ BL_ArmatureChannel::~BL_ArmatureChannel() { } +#ifndef DISABLE_PYTHON + // PYTHON PyMethodDef BL_ArmatureChannel::Methods[] = { @@ -459,3 +465,5 @@ PyObject *BL_ArmatureBone::py_bone_get_children(void *self, const struct KX_PYAT return childrenlist; } + +#endif // DISABLE_PYTHON diff --git a/source/gameengine/Converter/BL_ArmatureChannel.h b/source/gameengine/Converter/BL_ArmatureChannel.h index 0f0f5a062e0..64b03835d83 100644 --- a/source/gameengine/Converter/BL_ArmatureChannel.h +++ b/source/gameengine/Converter/BL_ArmatureChannel.h @@ -57,14 +57,15 @@ public: struct bPoseChannel *posechannel); virtual ~BL_ArmatureChannel(); +#ifndef DISABLE_PYTHON + // Python access virtual PyObject* py_repr(void); - // Python access static PyObject* py_attr_getattr(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef); static int py_attr_setattr(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef, PyObject *value); static PyObject* py_attr_get_joint_rotation(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef); static int py_attr_set_joint_rotation(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef, PyObject *value); - +#endif // DISABLE_PYTHON }; /* this is a factory class to access bBone data field in the GE. @@ -80,9 +81,12 @@ private: virtual ~BL_ArmatureBone() {} public: + +#ifndef DISABLE_PYTHON static PyObject *py_bone_repr(PyObject *self); static PyObject *py_bone_get_parent(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef); static PyObject *py_bone_get_children(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef); +#endif }; diff --git a/source/gameengine/Converter/BL_ArmatureConstraint.cpp b/source/gameengine/Converter/BL_ArmatureConstraint.cpp index 15e12611483..42581b63ec4 100644 --- a/source/gameengine/Converter/BL_ArmatureConstraint.cpp +++ b/source/gameengine/Converter/BL_ArmatureConstraint.cpp @@ -37,6 +37,8 @@ #include "BLI_arithb.h" #include "BLI_string.h" +#ifndef DISABLE_PYTHON + PyTypeObject BL_ArmatureConstraint::Type = { PyVarObject_HEAD_INIT(NULL, 0) "BL_ArmatureConstraint", @@ -64,6 +66,8 @@ PyObject* BL_ArmatureConstraint::py_repr(void) return PyUnicode_FromString(m_name); } +#endif // DISABLE_PYTHON + BL_ArmatureConstraint::BL_ArmatureConstraint( BL_ArmatureObject *armature, bPoseChannel *posechannel, @@ -237,6 +241,8 @@ void BL_ArmatureConstraint::SetSubtarget(KX_GameObject* subtarget) } +#ifndef DISABLE_PYTHON + // PYTHON PyMethodDef BL_ArmatureConstraint::Methods[] = { @@ -445,3 +451,4 @@ int BL_ArmatureConstraint::py_attr_setattr(void *self_v, const struct KX_PYATTRI return PY_SET_ATTR_FAIL; } +#endif // DISABLE_PYTHON diff --git a/source/gameengine/Converter/BL_ArmatureConstraint.h b/source/gameengine/Converter/BL_ArmatureConstraint.h index f10849ea05b..2a202dfe62e 100644 --- a/source/gameengine/Converter/BL_ArmatureConstraint.h +++ b/source/gameengine/Converter/BL_ArmatureConstraint.h @@ -73,9 +73,6 @@ public: KX_GameObject* subtarget); virtual ~BL_ArmatureConstraint(); - - virtual PyObject* py_repr(void); - BL_ArmatureConstraint* GetReplica() const; void ReParent(BL_ArmatureObject* armature); void Relink(GEN_Map<GEN_HashedPtr, void*> *map); @@ -107,10 +104,14 @@ public: void SetTarget(KX_GameObject* target); void SetSubtarget(KX_GameObject* subtarget); +#ifndef DISABLE_PYTHON + // Python access + virtual PyObject* py_repr(void); + static PyObject* py_attr_getattr(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef); static int py_attr_setattr(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef, PyObject *value); - +#endif // DISABLE_PYTHON }; #endif //__BL_ARMATURECONSTRAINT diff --git a/source/gameengine/Converter/BL_ArmatureObject.cpp b/source/gameengine/Converter/BL_ArmatureObject.cpp index 54c1e8fc718..a6066adc03e 100644 --- a/source/gameengine/Converter/BL_ArmatureObject.cpp +++ b/source/gameengine/Converter/BL_ArmatureObject.cpp @@ -590,6 +590,8 @@ float BL_ArmatureObject::GetBoneLength(Bone* bone) const return (float)(MT_Point3(bone->head) - MT_Point3(bone->tail)).length(); } +#ifndef DISABLE_PYTHON + // PYTHON PyTypeObject BL_ArmatureObject::Type = { @@ -654,3 +656,5 @@ KX_PYMETHODDEF_DOC_NOARGS(BL_ArmatureObject, update, SetActiveAction(NULL, 0, KX_GetActiveEngine()->GetFrameTime()); Py_RETURN_NONE; } + +#endif // DISABLE_PYTHON diff --git a/source/gameengine/Converter/BL_ArmatureObject.h b/source/gameengine/Converter/BL_ArmatureObject.h index 8e3d5734b73..b7ef38468bb 100644 --- a/source/gameengine/Converter/BL_ArmatureObject.h +++ b/source/gameengine/Converter/BL_ArmatureObject.h @@ -108,11 +108,15 @@ public: virtual int GetGameObjectType() { return OBJ_ARMATURE; } +#ifndef DISABLE_PYTHON + // PYTHON static PyObject* pyattr_get_constraints(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef); static PyObject* pyattr_get_channels(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef); KX_PYMETHOD_DOC_NOARGS(BL_ArmatureObject, update); +#endif // DISABLE_PYTHON + protected: /* list element: BL_ArmatureConstraint. Use SG_DListHead to have automatic list replication */ SG_DListHead<BL_ArmatureConstraint> m_controlledConstraints; diff --git a/source/gameengine/Converter/BL_BlenderDataConversion.cpp b/source/gameengine/Converter/BL_BlenderDataConversion.cpp index 52fb13bd41c..8310294a73a 100644 --- a/source/gameengine/Converter/BL_BlenderDataConversion.cpp +++ b/source/gameengine/Converter/BL_BlenderDataConversion.cpp @@ -1897,7 +1897,9 @@ void BL_ConvertBlenderObjects(struct Main* maggie, KX_Scene* kxscene, KX_KetsjiEngine* ketsjiEngine, e_PhysicsEngine physics_engine, +#ifndef DISABLE_PYTHON PyObject* pythondictionary, +#endif RAS_IRenderTools* rendertools, RAS_ICanvas* canvas, KX_BlenderSceneConverter* converter, @@ -2653,7 +2655,11 @@ void BL_ConvertBlenderObjects(struct Main* maggie, struct Object* blenderobj = gameobj->GetBlenderObject(); int layerMask = (groupobj.find(blenderobj) == groupobj.end()) ? activeLayerBitInfo : 0; bool isInActiveLayer = (blenderobj->lay & layerMask)!=0; - BL_ConvertControllers(blenderobj,gameobj,logicmgr,pythondictionary,layerMask,isInActiveLayer,converter); + BL_ConvertControllers(blenderobj,gameobj,logicmgr, +#ifndef DISABLE_PYTHON + pythondictionary, +#endif + layerMask,isInActiveLayer,converter); } for ( i=0;i<logicbrick_conversionlist->GetCount();i++) { diff --git a/source/gameengine/Converter/BL_BlenderDataConversion.h b/source/gameengine/Converter/BL_BlenderDataConversion.h index b8f9d1ec4e6..96ef7d5bc77 100644 --- a/source/gameengine/Converter/BL_BlenderDataConversion.h +++ b/source/gameengine/Converter/BL_BlenderDataConversion.h @@ -40,7 +40,9 @@ void BL_ConvertBlenderObjects(struct Main* maggie, class KX_Scene* kxscene, class KX_KetsjiEngine* ketsjiEngine, e_PhysicsEngine physics_engine, +#ifndef DISABLE_PYTHON PyObject* pythondictionary, +#endif class RAS_IRenderTools* rendertools, class RAS_ICanvas* canvas, class KX_BlenderSceneConverter* sceneconverter, diff --git a/source/gameengine/Converter/BL_ShapeActionActuator.cpp b/source/gameengine/Converter/BL_ShapeActionActuator.cpp index 81ce9ff6154..0af6556f285 100644 --- a/source/gameengine/Converter/BL_ShapeActionActuator.cpp +++ b/source/gameengine/Converter/BL_ShapeActionActuator.cpp @@ -412,6 +412,8 @@ bool BL_ShapeActionActuator::Update(double curtime, bool frame) return keepgoing; }; +#ifndef DISABLE_PYTHON + /* ------------------------------------------------------------------------- */ /* Python functions */ /* ------------------------------------------------------------------------- */ @@ -492,3 +494,5 @@ int BL_ShapeActionActuator::pyattr_set_action(void *self_v, const KX_PYATTRIBUTE return PY_SET_ATTR_SUCCESS; } + +#endif // DISABLE_PYTHON diff --git a/source/gameengine/Converter/BL_ShapeActionActuator.h b/source/gameengine/Converter/BL_ShapeActionActuator.h index 80157630e27..efb1293a5eb 100644 --- a/source/gameengine/Converter/BL_ShapeActionActuator.h +++ b/source/gameengine/Converter/BL_ShapeActionActuator.h @@ -82,6 +82,8 @@ public: bAction* GetAction() { return m_action; } void SetAction(bAction* act) { m_action= act; } +#ifndef DISABLE_PYTHON + static PyObject* pyattr_get_action(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef); static int pyattr_set_action(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value); @@ -123,6 +125,8 @@ public: } +#endif // DISABLE_PYTHON + protected: void SetStartTime(float curtime); diff --git a/source/gameengine/Converter/CMakeLists.txt b/source/gameengine/Converter/CMakeLists.txt index d617934ec01..f9af2c23629 100644 --- a/source/gameengine/Converter/CMakeLists.txt +++ b/source/gameengine/Converter/CMakeLists.txt @@ -61,8 +61,13 @@ SET(INC ../../../source/blender/gpu ../../../source/blender/ikplugin ../../../extern/bullet2/src - ${PYTHON_INC} ) +IF(WITH_PYTHON) + SET(INC ${INC} ${PYTHON_INC}) +ELSE(WITH_PYTHON) + ADD_DEFINITIONS(-DDISABLE_PYTHON) +ENDIF(WITH_PYTHON) + BLENDERLIB(bf_converter "${SRC}" "${INC}") #env.BlenderLib ( 'bf_converter', sources, Split(incs), [], libtype=['game','player'], priority=[5,70] ) diff --git a/source/gameengine/Converter/KX_BlenderSceneConverter.cpp b/source/gameengine/Converter/KX_BlenderSceneConverter.cpp index 151564391f3..f0f5e1d4f41 100644 --- a/source/gameengine/Converter/KX_BlenderSceneConverter.cpp +++ b/source/gameengine/Converter/KX_BlenderSceneConverter.cpp @@ -243,7 +243,9 @@ struct BlenderDebugDraw : public btIDebugDraw #endif void KX_BlenderSceneConverter::ConvertScene(class KX_Scene* destinationscene, +#ifndef DISABLE_PYTHON PyObject* dictobj, +#endif class RAS_IRenderTools* rendertools, class RAS_ICanvas* canvas) { @@ -328,7 +330,9 @@ void KX_BlenderSceneConverter::ConvertScene(class KX_Scene* destinationscene, destinationscene, m_ketsjiEngine, physics_engine, +#ifndef DISABLE_PYTHON dictobj, +#endif rendertools, canvas, this, diff --git a/source/gameengine/Converter/KX_BlenderSceneConverter.h b/source/gameengine/Converter/KX_BlenderSceneConverter.h index bb87a21a683..fa066aac27e 100644 --- a/source/gameengine/Converter/KX_BlenderSceneConverter.h +++ b/source/gameengine/Converter/KX_BlenderSceneConverter.h @@ -89,7 +89,9 @@ public: */ virtual void ConvertScene( class KX_Scene* destinationscene, +#ifndef DISABLE_PYTHON PyObject* dictobj, +#endif class RAS_IRenderTools* rendertools, class RAS_ICanvas* canvas ); diff --git a/source/gameengine/Converter/KX_ConvertControllers.cpp b/source/gameengine/Converter/KX_ConvertControllers.cpp index 85ab8e4f8b8..1cb15c932ac 100644 --- a/source/gameengine/Converter/KX_ConvertControllers.cpp +++ b/source/gameengine/Converter/KX_ConvertControllers.cpp @@ -91,8 +91,10 @@ LinkControllerToActuators( void BL_ConvertControllers( struct Object* blenderobject, class KX_GameObject* gameobj, - SCA_LogicManager* logicmgr, + SCA_LogicManager* logicmgr, +#ifndef DISABLE_PYTHON PyObject* pythondictionary, +#endif int activeLayerBitInfo, bool isInActiveLayer, KX_BlenderSceneConverter* converter @@ -159,6 +161,8 @@ void BL_ConvertControllers( SCA_PythonController* pyctrl = new SCA_PythonController(gameobj, pycont->mode); gamecontroller = pyctrl; +#ifndef DISABLE_PYTHON + pyctrl->SetDictionary(pythondictionary); if(pycont->mode==SCA_PythonController::SCA_PYEXEC_SCRIPT) { @@ -187,6 +191,8 @@ void BL_ConvertControllers( pyctrl->SetDebug(true); } +#endif // DISABLE_PYTHON + break; } default: @@ -211,7 +217,8 @@ void BL_ConvertControllers( gameobj->AddController(gamecontroller); converter->RegisterGameController(gamecontroller, bcontr); - + +#ifndef DISABLE_PYTHON if (bcontr->type==CONT_PYTHON) { SCA_PythonController *pyctrl= static_cast<SCA_PythonController*>(gamecontroller); /* not strictly needed but gives syntax errors early on and @@ -226,7 +233,8 @@ void BL_ConvertControllers( // pyctrl->Import(); } } - +#endif // DISABLE_PYTHON + //done with gamecontroller gamecontroller->Release(); } diff --git a/source/gameengine/Converter/KX_ConvertControllers.h b/source/gameengine/Converter/KX_ConvertControllers.h index d340778290c..3895ed2c873 100644 --- a/source/gameengine/Converter/KX_ConvertControllers.h +++ b/source/gameengine/Converter/KX_ConvertControllers.h @@ -34,8 +34,10 @@ void BL_ConvertControllers( struct Object* blenderobject, class KX_GameObject* gameobj, - class SCA_LogicManager* logicmgr, + class SCA_LogicManager* logicmgr, +#ifndef DISABLE_PYTHON PyObject* pythondictionary, +#endif int activeLayerBitInfo, bool isInActiveLayer, class KX_BlenderSceneConverter* converter diff --git a/source/gameengine/Converter/KX_ConvertProperties.cpp b/source/gameengine/Converter/KX_ConvertProperties.cpp index 1c22d2a0600..7ecdb6c5db6 100644 --- a/source/gameengine/Converter/KX_ConvertProperties.cpp +++ b/source/gameengine/Converter/KX_ConvertProperties.cpp @@ -130,7 +130,7 @@ void BL_ConvertProperties(Object* object,KX_GameObject* gameobj,SCA_TimeEventMan propval->Release(); } - +#ifndef DISABLE_PYTHON /* Warn if we double up on attributes, this isnt quite right since it wont find inherited attributes however there arnt many */ for(PyAttributeDef *attrdef = KX_GameObject::Attributes; attrdef->m_name; attrdef++) { if(strcmp(prop->name, attrdef->m_name)==0) { @@ -145,6 +145,7 @@ void BL_ConvertProperties(Object* object,KX_GameObject* gameobj,SCA_TimeEventMan } } /* end warning check */ +#endif // DISABLE_PYTHON prop = prop->next; } diff --git a/source/gameengine/Converter/KX_ConvertSensors.cpp b/source/gameengine/Converter/KX_ConvertSensors.cpp index 99a2ec3ca64..692cc91f340 100644 --- a/source/gameengine/Converter/KX_ConvertSensors.cpp +++ b/source/gameengine/Converter/KX_ConvertSensors.cpp @@ -28,6 +28,7 @@ * Conversion of Blender data blocks to KX sensor system */ +#include <stdio.h> #ifdef HAVE_CONFIG_H #include <config.h> diff --git a/source/gameengine/Converter/SConscript b/source/gameengine/Converter/SConscript index 8a5eb8a341c..616c205732c 100644 --- a/source/gameengine/Converter/SConscript +++ b/source/gameengine/Converter/SConscript @@ -21,11 +21,15 @@ incs += ' #source/blender/windowmanager' incs += ' #source/blender/makesrna' incs += ' #source/blender/ikplugin' -incs += ' ' + env['BF_PYTHON_INC'] incs += ' ' + env['BF_BULLET_INC'] if env['BF_DEBUG']: if env['OURPLATFORM'] in ('win32-mingw', 'win32-vc', 'win64-vc'): defs.append('_DEBUG') + +if env['WITH_BF_PYTHON']: + incs += ' ' + env['BF_PYTHON_INC'] +else: + defs.append('DISABLE_PYTHON') env.BlenderLib ( 'bf_converter', sources, Split(incs), defs, libtype=['core','player'], priority=[305,40], cxx_compileflags=env['BGE_CXXFLAGS']) |