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)
|
void WM_operator_free(wmOperator *op)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
#ifndef DISABLE_PYTHON
|
||||||
if(op->py_instance) {
|
if(op->py_instance) {
|
||||||
/* do this first incase there are any __del__ functions or
|
/* do this first incase there are any __del__ functions or
|
||||||
* similar that use properties */
|
* similar that use properties */
|
||||||
BPY_DECREF(op->py_instance);
|
BPY_DECREF(op->py_instance);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
if(op->ptr) {
|
if(op->ptr) {
|
||||||
op->properties= op->ptr->data;
|
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);
|
m_logger->StartLog(tc_rasterizer, m_kxsystem->GetTimeInSeconds(), true);
|
||||||
SG_SetActiveStage(SG_STAGE_RENDER);
|
SG_SetActiveStage(SG_STAGE_RENDER);
|
||||||
|
|
||||||
|
#ifndef DISABLE_PYTHON
|
||||||
// Run any pre-drawing python callbacks
|
// Run any pre-drawing python callbacks
|
||||||
scene->RunDrawingCallbacks(scene->GetPreDrawCB());
|
scene->RunDrawingCallbacks(scene->GetPreDrawCB());
|
||||||
|
#endif
|
||||||
|
|
||||||
scene->RenderBuckets(camtrans, m_rasterizer, m_rendertools);
|
scene->RenderBuckets(camtrans, m_rasterizer, m_rendertools);
|
||||||
|
|
||||||
@ -1324,7 +1326,9 @@ void KX_KetsjiEngine::PostRenderScene(KX_Scene* scene)
|
|||||||
{
|
{
|
||||||
m_rendertools->MotionBlur(m_rasterizer);
|
m_rendertools->MotionBlur(m_rasterizer);
|
||||||
scene->Render2DFilters(m_canvas);
|
scene->Render2DFilters(m_canvas);
|
||||||
|
#ifndef DISABLE_PYTHON
|
||||||
scene->RunDrawingCallbacks(scene->GetPostDrawCB());
|
scene->RunDrawingCallbacks(scene->GetPostDrawCB());
|
||||||
|
#endif
|
||||||
m_rasterizer->FlushDebugLines();
|
m_rasterizer->FlushDebugLines();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -407,34 +407,6 @@ bool KX_Scene::IsClearingZBuffer()
|
|||||||
return m_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)
|
void KX_Scene::EnableZBufferClearing(bool isclearingZbuffer)
|
||||||
{
|
{
|
||||||
m_isclearingZbuffer = isclearingZbuffer;
|
m_isclearingZbuffer = isclearingZbuffer;
|
||||||
@ -1657,9 +1629,6 @@ double KX_Scene::getSuspendedDelta()
|
|||||||
return m_suspendeddelta;
|
return m_suspendeddelta;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef DISABLE_PYTHON
|
|
||||||
|
|
||||||
|
|
||||||
#include "KX_BulletPhysicsController.h"
|
#include "KX_BulletPhysicsController.h"
|
||||||
|
|
||||||
static void MergeScene_LogicBrick(SCA_ILogicBrick* brick, KX_Scene *to)
|
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);
|
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
|
//Python
|
||||||
|
|
||||||
|
@ -291,11 +291,6 @@ public:
|
|||||||
RAS_IRasterizer* rasty,
|
RAS_IRasterizer* rasty,
|
||||||
RAS_IRenderTools* rendertools);
|
RAS_IRenderTools* rendertools);
|
||||||
|
|
||||||
/**
|
|
||||||
* Run the registered python drawing functions.
|
|
||||||
*/
|
|
||||||
void RunDrawingCallbacks(PyObject* cb_list);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update all transforms according to the scenegraph.
|
* Update all transforms according to the scenegraph.
|
||||||
*/
|
*/
|
||||||
@ -573,6 +568,11 @@ public:
|
|||||||
static PyMappingMethods Mapping;
|
static PyMappingMethods Mapping;
|
||||||
static PySequenceMethods Sequence;
|
static PySequenceMethods Sequence;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Run the registered python drawing functions.
|
||||||
|
*/
|
||||||
|
void RunDrawingCallbacks(PyObject* cb_list);
|
||||||
|
|
||||||
PyObject* GetPreDrawCB() { return m_draw_call_pre; };
|
PyObject* GetPreDrawCB() { return m_draw_call_pre; };
|
||||||
PyObject* GetPostDrawCB() { return m_draw_call_post; };
|
PyObject* GetPostDrawCB() { return m_draw_call_post; };
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user