diff options
Diffstat (limited to 'source/gameengine/Ketsji/KX_Scene.cpp')
-rw-r--r-- | source/gameengine/Ketsji/KX_Scene.cpp | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/source/gameengine/Ketsji/KX_Scene.cpp b/source/gameengine/Ketsji/KX_Scene.cpp index 140be3fb3db..c93ead74182 100644 --- a/source/gameengine/Ketsji/KX_Scene.cpp +++ b/source/gameengine/Ketsji/KX_Scene.cpp @@ -94,6 +94,8 @@ #include "KX_Light.h" +#include <stdio.h> + void* KX_SceneReplicationFunc(SG_IObject* node,void* gameobj,void* scene) { KX_GameObject* replica = ((KX_Scene*)scene)->AddNodeReplicaObject(node,(KX_GameObject*)gameobj); @@ -207,7 +209,9 @@ KX_Scene::KX_Scene(class SCA_IInputDevice* keyboarddevice, m_bucketmanager=new RAS_BucketManager(); +#ifndef DISABLE_PYTHON m_attr_dict = PyDict_New(); /* new ref */ +#endif } @@ -256,8 +260,11 @@ KX_Scene::~KX_Scene() { delete m_bucketmanager; } + +#ifndef DISABLE_PYTHON PyDict_Clear(m_attr_dict); Py_DECREF(m_attr_dict); +#endif } RAS_BucketManager* KX_Scene::GetBucketManager() @@ -470,7 +477,7 @@ KX_GameObject* KX_Scene::AddNodeReplicaObject(class SG_IObject* node, class CVal // this is the list of object that are send to the graphics pipeline m_objectlist->Add(newobj->AddRef()); - if (newobj->IsLight()) + if (newobj->GetGameObjectType()==SCA_IObject::OBJ_LIGHT) m_lightlist->Add(newobj->AddRef()); newobj->AddMeshUser(); @@ -746,7 +753,7 @@ void KX_Scene::DupliGroupRecurse(CValue* obj, int level) // add the object in the layer of the parent (*git)->SetLayer(groupobj->GetLayer()); // If the object was a light, we need to update it's RAS_LightObject as well - if ((*git)->IsLight()) + if ((*git)->GetGameObjectType()==SCA_IObject::OBJ_LIGHT) { KX_LightObject* lightobj = static_cast<KX_LightObject*>(*git); lightobj->GetLightData()->m_layer = groupobj->GetLayer(); @@ -854,7 +861,7 @@ SCA_IObject* KX_Scene::AddReplicaObject(class CValue* originalobject, // add the object in the layer of the parent (*git)->SetLayer(parentobj->GetLayer()); // If the object was a light, we need to update it's RAS_LightObject as well - if ((*git)->IsLight()) + if ((*git)->GetGameObjectType()==SCA_IObject::OBJ_LIGHT) { KX_LightObject* lightobj = static_cast<KX_LightObject*>(*git); lightobj->GetLightData()->m_layer = parentobj->GetLayer(); @@ -975,7 +982,7 @@ int KX_Scene::NewRemoveObject(class CValue* gameobj) newobj->RemoveMeshes(); ret = 1; - if (newobj->IsLight() && m_lightlist->RemoveValue(newobj)) + if (newobj->GetGameObjectType()==SCA_IObject::OBJ_LIGHT && m_lightlist->RemoveValue(newobj)) ret = newobj->Release(); if (m_objectlist->RemoveValue(newobj)) ret = newobj->Release(); @@ -1604,6 +1611,8 @@ double KX_Scene::getSuspendedDelta() return m_suspendeddelta; } +#ifndef DISABLE_PYTHON + //---------------------------------------------------------------------------- //Python @@ -1867,3 +1876,5 @@ KX_PYMETHODDEF_DOC(KX_Scene, get, "") Py_INCREF(def); return def; } + +#endif // DISABLE_PYTHON |