forked from bartvdbraak/blender
enable compiling without python again
This commit is contained in:
parent
6956f6c1c5
commit
377f06082a
@ -64,11 +64,14 @@
|
||||
|
||||
void WM_operator_free(wmOperator *op)
|
||||
{
|
||||
|
||||
#ifndef DISABLE_PYTHON
|
||||
if(op->py_instance) {
|
||||
/* do this first incase there are any __del__ functions or
|
||||
* similar that use properties */
|
||||
BPY_DECREF(op->py_instance);
|
||||
}
|
||||
#endif
|
||||
|
||||
if(op->ptr) {
|
||||
op->properties= op->ptr->data;
|
||||
|
@ -1309,8 +1309,10 @@ void KX_KetsjiEngine::RenderFrame(KX_Scene* scene, KX_Camera* cam)
|
||||
m_logger->StartLog(tc_rasterizer, m_kxsystem->GetTimeInSeconds(), true);
|
||||
SG_SetActiveStage(SG_STAGE_RENDER);
|
||||
|
||||
#ifndef DISABLE_PYTHON
|
||||
// Run any pre-drawing python callbacks
|
||||
scene->RunDrawingCallbacks(scene->GetPreDrawCB());
|
||||
#endif
|
||||
|
||||
scene->RenderBuckets(camtrans, m_rasterizer, m_rendertools);
|
||||
|
||||
@ -1324,7 +1326,9 @@ void KX_KetsjiEngine::PostRenderScene(KX_Scene* scene)
|
||||
{
|
||||
m_rendertools->MotionBlur(m_rasterizer);
|
||||
scene->Render2DFilters(m_canvas);
|
||||
#ifndef DISABLE_PYTHON
|
||||
scene->RunDrawingCallbacks(scene->GetPostDrawCB());
|
||||
#endif
|
||||
m_rasterizer->FlushDebugLines();
|
||||
}
|
||||
|
||||
|
@ -407,34 +407,6 @@ bool KX_Scene::IsClearingZBuffer()
|
||||
return m_isclearingZbuffer;
|
||||
}
|
||||
|
||||
void KX_Scene::RunDrawingCallbacks(PyObject* cb_list)
|
||||
{
|
||||
int len;
|
||||
|
||||
if (cb_list && (len=PyList_GET_SIZE(cb_list)))
|
||||
{
|
||||
PyObject* args= PyTuple_New(0); // save python creating each call
|
||||
PyObject* func;
|
||||
PyObject* ret;
|
||||
|
||||
// Iterate the list and run the callbacks
|
||||
for (int pos=0; pos < len; pos++)
|
||||
{
|
||||
func= PyList_GET_ITEM(cb_list, pos);
|
||||
ret= PyObject_Call(func, args, NULL);
|
||||
if (ret==NULL) {
|
||||
PyErr_Print();
|
||||
PyErr_Clear();
|
||||
}
|
||||
else {
|
||||
Py_DECREF(ret);
|
||||
}
|
||||
}
|
||||
|
||||
Py_DECREF(args);
|
||||
}
|
||||
}
|
||||
|
||||
void KX_Scene::EnableZBufferClearing(bool isclearingZbuffer)
|
||||
{
|
||||
m_isclearingZbuffer = isclearingZbuffer;
|
||||
@ -1657,9 +1629,6 @@ double KX_Scene::getSuspendedDelta()
|
||||
return m_suspendeddelta;
|
||||
}
|
||||
|
||||
#ifndef DISABLE_PYTHON
|
||||
|
||||
|
||||
#include "KX_BulletPhysicsController.h"
|
||||
|
||||
static void MergeScene_LogicBrick(SCA_ILogicBrick* brick, KX_Scene *to)
|
||||
@ -1855,6 +1824,36 @@ void KX_Scene::Render2DFilters(RAS_ICanvas* canvas)
|
||||
m_filtermanager.RenderFilters(canvas);
|
||||
}
|
||||
|
||||
#ifndef DISABLE_PYTHON
|
||||
|
||||
void KX_Scene::RunDrawingCallbacks(PyObject* cb_list)
|
||||
{
|
||||
int len;
|
||||
|
||||
if (cb_list && (len=PyList_GET_SIZE(cb_list)))
|
||||
{
|
||||
PyObject* args= PyTuple_New(0); // save python creating each call
|
||||
PyObject* func;
|
||||
PyObject* ret;
|
||||
|
||||
// Iterate the list and run the callbacks
|
||||
for (int pos=0; pos < len; pos++)
|
||||
{
|
||||
func= PyList_GET_ITEM(cb_list, pos);
|
||||
ret= PyObject_Call(func, args, NULL);
|
||||
if (ret==NULL) {
|
||||
PyErr_Print();
|
||||
PyErr_Clear();
|
||||
}
|
||||
else {
|
||||
Py_DECREF(ret);
|
||||
}
|
||||
}
|
||||
|
||||
Py_DECREF(args);
|
||||
}
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
//Python
|
||||
|
||||
|
@ -291,11 +291,6 @@ public:
|
||||
RAS_IRasterizer* rasty,
|
||||
RAS_IRenderTools* rendertools);
|
||||
|
||||
/**
|
||||
* Run the registered python drawing functions.
|
||||
*/
|
||||
void RunDrawingCallbacks(PyObject* cb_list);
|
||||
|
||||
/**
|
||||
* Update all transforms according to the scenegraph.
|
||||
*/
|
||||
@ -573,6 +568,11 @@ public:
|
||||
static PyMappingMethods Mapping;
|
||||
static PySequenceMethods Sequence;
|
||||
|
||||
/**
|
||||
* Run the registered python drawing functions.
|
||||
*/
|
||||
void RunDrawingCallbacks(PyObject* cb_list);
|
||||
|
||||
PyObject* GetPreDrawCB() { return m_draw_call_pre; };
|
||||
PyObject* GetPostDrawCB() { return m_draw_call_post; };
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user