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:
Diffstat (limited to 'source/gameengine/Converter')
-rw-r--r--source/gameengine/Converter/BL_BlenderDataConversion.cpp37
-rw-r--r--source/gameengine/Converter/BL_BlenderDataConversion.h3
-rw-r--r--source/gameengine/Converter/KX_BlenderSceneConverter.cpp2
-rw-r--r--source/gameengine/Converter/KX_BlenderSceneConverter.h4
-rw-r--r--source/gameengine/Converter/KX_ConvertActuators.cpp1
-rw-r--r--source/gameengine/Converter/KX_ConvertSensors.cpp10
-rw-r--r--source/gameengine/Converter/KX_ConvertSensors.h1
7 files changed, 23 insertions, 35 deletions
diff --git a/source/gameengine/Converter/BL_BlenderDataConversion.cpp b/source/gameengine/Converter/BL_BlenderDataConversion.cpp
index 2ff9d38dee4..a1af195801c 100644
--- a/source/gameengine/Converter/BL_BlenderDataConversion.cpp
+++ b/source/gameengine/Converter/BL_BlenderDataConversion.cpp
@@ -323,8 +323,7 @@ bool ConvertMaterial(
MTFace* tface,
const char *tfaceName,
MFace* mface,
- MCol* mmcol,
- int lightlayer,
+ MCol* mmcol,
MTF_localLayer *layers,
bool glslmat)
{
@@ -720,12 +719,12 @@ bool ConvertMaterial(
return true;
}
-
-RAS_MeshObject* BL_ConvertMesh(Mesh* mesh, Object* blenderobj, RAS_IRenderTools* rendertools, KX_Scene* scene, KX_BlenderSceneConverter *converter)
+/* blenderobj can be NULL, make sure its checked for */
+RAS_MeshObject* BL_ConvertMesh(Mesh* mesh, Object* blenderobj, KX_Scene* scene, KX_BlenderSceneConverter *converter)
{
RAS_MeshObject *meshobj;
bool skinMesh = false;
- int lightlayer = blenderobj->lay;
+ int lightlayer = blenderobj ? blenderobj->lay:(1<<20)-1; // all layers if no object.
if ((meshobj = converter->FindGameMesh(mesh/*, ob->lay*/)) != NULL)
return meshobj;
@@ -748,7 +747,7 @@ RAS_MeshObject* BL_ConvertMesh(Mesh* mesh, Object* blenderobj, RAS_IRenderTools*
}
// Determine if we need to make a skinned mesh
- if (mesh->dvert || mesh->key || ((blenderobj->gameflag & OB_SOFT_BODY) != 0) || BL_ModifierDeformer::HasCompatibleDeformer(blenderobj))
+ if (blenderobj && (mesh->dvert || mesh->key || ((blenderobj->gameflag & OB_SOFT_BODY) != 0) || BL_ModifierDeformer::HasCompatibleDeformer(blenderobj)))
{
meshobj = new BL_SkinMeshObject(mesh);
skinMesh = true;
@@ -843,9 +842,8 @@ RAS_MeshObject* BL_ConvertMesh(Mesh* mesh, Object* blenderobj, RAS_IRenderTools*
tan3 = tangent[f*4 + 3];
}
- /* get material */
- ma = give_current_material(blenderobj, mface->mat_nr+1);
-
+ ma = give_current_material(blenderobj, mface->mat_nr+1);
+
{
bool visible = true;
bool twoside = false;
@@ -859,7 +857,7 @@ RAS_MeshObject* BL_ConvertMesh(Mesh* mesh, Object* blenderobj, RAS_IRenderTools*
if (!bl_mat)
bl_mat = new BL_Material();
ConvertMaterial(bl_mat, ma, tface, tfaceName, mface, mcol,
- lightlayer, layers, converter->GetGLSLMaterials());
+ layers, converter->GetGLSLMaterials());
visible = ((bl_mat->ras_mode & POLY_VIS)!=0);
collider = ((bl_mat->ras_mode & COLLIDER)!=0);
@@ -882,7 +880,7 @@ RAS_MeshObject* BL_ConvertMesh(Mesh* mesh, Object* blenderobj, RAS_IRenderTools*
if (kx_blmat == NULL)
kx_blmat = new KX_BlenderMaterial();
- kx_blmat->Initialize(scene, bl_mat, skinMesh, lightlayer);
+ kx_blmat->Initialize(scene, bl_mat, skinMesh);
polymat = static_cast<RAS_IPolyMaterial*>(kx_blmat);
}
else {
@@ -1066,8 +1064,7 @@ RAS_MeshObject* BL_ConvertMesh(Mesh* mesh, Object* blenderobj, RAS_IRenderTools*
-static PHY_MaterialProps *CreateMaterialFromBlenderObject(struct Object* blenderobject,
- KX_Scene *kxscene)
+static PHY_MaterialProps *CreateMaterialFromBlenderObject(struct Object* blenderobject)
{
PHY_MaterialProps *materialProps = new PHY_MaterialProps;
@@ -1100,8 +1097,7 @@ static PHY_MaterialProps *CreateMaterialFromBlenderObject(struct Object* blender
return materialProps;
}
-static PHY_ShapeProps *CreateShapePropsFromBlenderObject(struct Object* blenderobject,
- KX_Scene *kxscene)
+static PHY_ShapeProps *CreateShapePropsFromBlenderObject(struct Object* blenderobject)
{
PHY_ShapeProps *shapeProps = new PHY_ShapeProps;
@@ -1396,12 +1392,11 @@ void BL_CreatePhysicsObjectNew(KX_GameObject* gameobj,
PHY_ShapeProps* shapeprops =
- CreateShapePropsFromBlenderObject(blenderobject,
- kxscene);
+ CreateShapePropsFromBlenderObject(blenderobject);
PHY_MaterialProps* smmaterial =
- CreateMaterialFromBlenderObject(blenderobject, kxscene);
+ CreateMaterialFromBlenderObject(blenderobject);
KX_ObjectProperties objprop;
objprop.m_lockXaxis = (blenderobject->gameflag2 & OB_LOCK_RIGID_BODY_X_AXIS) !=0;
@@ -1719,7 +1714,7 @@ static KX_GameObject *gameobject_from_blenderobject(
Mesh* mesh = static_cast<Mesh*>(ob->data);
float center[3], extents[3];
float radius = my_boundbox_mesh((Mesh*) ob->data, center, extents);
- RAS_MeshObject* meshobj = BL_ConvertMesh(mesh,ob,rendertools,kxscene,converter);
+ RAS_MeshObject* meshobj = BL_ConvertMesh(mesh,ob,kxscene,converter);
// needed for python scripting
kxscene->GetLogicManager()->RegisterMeshName(meshobj->GetName(),meshobj);
@@ -1902,7 +1897,6 @@ void BL_ConvertBlenderObjects(struct Main* maggie,
KX_KetsjiEngine* ketsjiEngine,
e_PhysicsEngine physics_engine,
PyObject* pythondictionary,
- SCA_IInputDevice* keydev,
RAS_IRenderTools* rendertools,
RAS_ICanvas* canvas,
KX_BlenderSceneConverter* converter,
@@ -2671,7 +2665,7 @@ void BL_ConvertBlenderObjects(struct Main* maggie,
struct Object* blenderobj = converter->FindBlenderObject(gameobj);
int layerMask = (groupobj.find(blenderobj) == groupobj.end()) ? activeLayerBitInfo : 0;
bool isInActiveLayer = (blenderobj->lay & layerMask)!=0;
- BL_ConvertSensors(blenderobj,gameobj,logicmgr,kxscene,ketsjiEngine,keydev,layerMask,isInActiveLayer,canvas,converter);
+ BL_ConvertSensors(blenderobj,gameobj,logicmgr,kxscene,ketsjiEngine,layerMask,isInActiveLayer,canvas,converter);
// set the init state to all objects
gameobj->SetInitState((blenderobj->init_state)?blenderobj->init_state:blenderobj->state);
}
@@ -2709,4 +2703,3 @@ void BL_ConvertBlenderObjects(struct Main* maggie,
RAS_BucketManager *bucketmanager = kxscene->GetBucketManager();
bucketmanager->OptimizeBuckets(distance);
}
-
diff --git a/source/gameengine/Converter/BL_BlenderDataConversion.h b/source/gameengine/Converter/BL_BlenderDataConversion.h
index bf733b748e2..b8f9d1ec4e6 100644
--- a/source/gameengine/Converter/BL_BlenderDataConversion.h
+++ b/source/gameengine/Converter/BL_BlenderDataConversion.h
@@ -34,14 +34,13 @@
#include "KX_Python.h"
#include "KX_PhysicsEngineEnums.h"
-class RAS_MeshObject* BL_ConvertMesh(struct Mesh* mesh,struct Object* lightobj,class RAS_IRenderTools* rendertools,class KX_Scene* scene, class KX_BlenderSceneConverter *converter);
+class RAS_MeshObject* BL_ConvertMesh(struct Mesh* mesh,struct Object* lightobj,class KX_Scene* scene, class KX_BlenderSceneConverter *converter);
void BL_ConvertBlenderObjects(struct Main* maggie,
class KX_Scene* kxscene,
class KX_KetsjiEngine* ketsjiEngine,
e_PhysicsEngine physics_engine,
PyObject* pythondictionary,
- class SCA_IInputDevice* keydev,
class RAS_IRenderTools* rendertools,
class RAS_ICanvas* canvas,
class KX_BlenderSceneConverter* sceneconverter,
diff --git a/source/gameengine/Converter/KX_BlenderSceneConverter.cpp b/source/gameengine/Converter/KX_BlenderSceneConverter.cpp
index 776a3528d89..4df9df75d3d 100644
--- a/source/gameengine/Converter/KX_BlenderSceneConverter.cpp
+++ b/source/gameengine/Converter/KX_BlenderSceneConverter.cpp
@@ -244,7 +244,6 @@ struct BlenderDebugDraw : public btIDebugDraw
void KX_BlenderSceneConverter::ConvertScene(class KX_Scene* destinationscene,
PyObject* dictobj,
- class SCA_IInputDevice* keyinputdev,
class RAS_IRenderTools* rendertools,
class RAS_ICanvas* canvas)
{
@@ -334,7 +333,6 @@ void KX_BlenderSceneConverter::ConvertScene(class KX_Scene* destinationscene,
m_ketsjiEngine,
physics_engine,
dictobj,
- keyinputdev,
rendertools,
canvas,
this,
diff --git a/source/gameengine/Converter/KX_BlenderSceneConverter.h b/source/gameengine/Converter/KX_BlenderSceneConverter.h
index c47055803c8..50ce8d61336 100644
--- a/source/gameengine/Converter/KX_BlenderSceneConverter.h
+++ b/source/gameengine/Converter/KX_BlenderSceneConverter.h
@@ -94,7 +94,6 @@ public:
virtual void ConvertScene(
class KX_Scene* destinationscene,
PyObject* dictobj,
- class SCA_IInputDevice* keyinputdev,
class RAS_IRenderTools* rendertools,
class RAS_ICanvas* canvas
);
@@ -149,6 +148,9 @@ public:
virtual bool GetGLSLMaterials();
struct Scene* GetBlenderSceneForName(const STR_String& name);
+
+ struct Main* GetMain() { return m_maggie; };
+
};
#endif //__KX_BLENDERSCENECONVERTER_H
diff --git a/source/gameengine/Converter/KX_ConvertActuators.cpp b/source/gameengine/Converter/KX_ConvertActuators.cpp
index b6fc7f1dbba..c18e4fce8a5 100644
--- a/source/gameengine/Converter/KX_ConvertActuators.cpp
+++ b/source/gameengine/Converter/KX_ConvertActuators.cpp
@@ -629,7 +629,6 @@ void BL_ConvertActuators(char* maggiename,
tmpmesh = BL_ConvertMesh(
editobact->me,
blenderobject,
- rendertools,
scene,
converter
);
diff --git a/source/gameengine/Converter/KX_ConvertSensors.cpp b/source/gameengine/Converter/KX_ConvertSensors.cpp
index 0b395cfd402..eb77e087de5 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
*/
+
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
@@ -94,7 +95,6 @@ void BL_ConvertSensors(struct Object* blenderobject,
SCA_LogicManager* logicmgr,
KX_Scene* kxscene,
KX_KetsjiEngine* kxengine,
- SCA_IInputDevice* keydev,
int activeLayerBitInfo,
bool isInActiveLayer,
RAS_ICanvas* canvas,
@@ -444,9 +444,8 @@ void BL_ConvertSensors(struct Object* blenderobject,
blendernearsensor->dist,
blendernearsensor->resetdist,
bFindMaterial,
- nearpropertyname,kxscene,
- physCtrl
- );
+ nearpropertyname,
+ physCtrl);
}
break;
@@ -648,8 +647,7 @@ void BL_ConvertSensors(struct Object* blenderobject,
smallmargin,
largemargin,
bFindMaterial,
- radarpropertyname,
- kxscene);
+ radarpropertyname);
}
diff --git a/source/gameengine/Converter/KX_ConvertSensors.h b/source/gameengine/Converter/KX_ConvertSensors.h
index 9162a866768..630323f30b4 100644
--- a/source/gameengine/Converter/KX_ConvertSensors.h
+++ b/source/gameengine/Converter/KX_ConvertSensors.h
@@ -34,7 +34,6 @@ void BL_ConvertSensors(struct Object* blenderobject,
class SCA_LogicManager* logicmgr,
class KX_Scene* kxscene,
class KX_KetsjiEngine* kxengine,
- class SCA_IInputDevice* keydev,
int activeLayerBitInfo,
bool isInActiveLayer,
class RAS_ICanvas* canvas,