diff options
author | Campbell Barton <ideasman42@gmail.com> | 2009-07-31 04:42:10 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2009-07-31 04:42:10 +0400 |
commit | c371f49d9aaf2c9eca90329954fe217efb5cf3f6 (patch) | |
tree | 142b9cb20d8b963f0cfd8a8fd4ee6437a47dafc4 /source/gameengine/Converter | |
parent | b55e996874c8b9a12b4a2a50f9d1993b5f921c57 (diff) | |
parent | 7301f33b26ccae263d0bfdde5f82d98a70790fd5 (diff) |
svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r21908:22075
Diffstat (limited to 'source/gameengine/Converter')
7 files changed, 18 insertions, 24 deletions
diff --git a/source/gameengine/Converter/BL_BlenderDataConversion.cpp b/source/gameengine/Converter/BL_BlenderDataConversion.cpp index 4309ca6c1ff..2ff9d38dee4 100644 --- a/source/gameengine/Converter/BL_BlenderDataConversion.cpp +++ b/source/gameengine/Converter/BL_BlenderDataConversion.cpp @@ -325,7 +325,6 @@ bool ConvertMaterial( MFace* mface, MCol* mmcol, int lightlayer, - Object* blenderobj, MTF_localLayer *layers, bool glslmat) { @@ -751,11 +750,11 @@ 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)) { - meshobj = new BL_SkinMeshObject(mesh, lightlayer); + meshobj = new BL_SkinMeshObject(mesh); skinMesh = true; } else - meshobj = new RAS_MeshObject(mesh, lightlayer); + meshobj = new RAS_MeshObject(mesh); // Extract avaiable layers MTF_localLayer *layers = new MTF_localLayer[MAX_MTFACE]; @@ -860,7 +859,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, blenderobj, layers, converter->GetGLSLMaterials()); + lightlayer, layers, converter->GetGLSLMaterials()); visible = ((bl_mat->ras_mode & POLY_VIS)!=0); collider = ((bl_mat->ras_mode & COLLIDER)!=0); @@ -1686,8 +1685,7 @@ static KX_GameObject *gameobject_from_blenderobject( Object *ob, KX_Scene *kxscene, RAS_IRenderTools *rendertools, - KX_BlenderSceneConverter *converter, - Scene *blenderscene) + KX_BlenderSceneConverter *converter) { KX_GameObject *gameobj = NULL; @@ -1747,7 +1745,7 @@ static KX_GameObject *gameobject_from_blenderobject( if (bHasModifier) { BL_ModifierDeformer *dcont = new BL_ModifierDeformer((BL_DeformableGameObject *)gameobj, - blenderscene, ob, (BL_SkinMeshObject *)meshobj); + kxscene->GetBlenderScene(), ob, (BL_SkinMeshObject *)meshobj); ((BL_DeformableGameObject*)gameobj)->SetDeformer(dcont); if (bHasShapeKey && bHasArmature) dcont->LoadShapeDrivers(ob->parent); @@ -1786,7 +1784,7 @@ static KX_GameObject *gameobject_from_blenderobject( kxscene, KX_Scene::m_callbacks, ob, - blenderscene // handle + kxscene->GetBlenderScene() // handle ); /* Get the current pose from the armature object and apply it as the rest pose */ break; @@ -1900,7 +1898,6 @@ KX_GameObject* getGameOb(STR_String busc,CListValue* sumolist){ // convert blender objects into ketsji gameobjects void BL_ConvertBlenderObjects(struct Main* maggie, - const STR_String& scenename, KX_Scene* kxscene, KX_KetsjiEngine* ketsjiEngine, e_PhysicsEngine physics_engine, @@ -1913,7 +1910,7 @@ void BL_ConvertBlenderObjects(struct Main* maggie, ) { - Scene *blenderscene = converter->GetBlenderSceneForName(scenename); + Scene *blenderscene = kxscene->GetBlenderScene(); // for SETLOOPER Scene *sce; Base *base; @@ -2005,8 +2002,7 @@ void BL_ConvertBlenderObjects(struct Main* maggie, base->object, kxscene, rendertools, - converter, - blenderscene); + converter); bool isInActiveLayer = (blenderobject->lay & activeLayerBitInfo) !=0; bool addobj=true; @@ -2195,8 +2191,7 @@ void BL_ConvertBlenderObjects(struct Main* maggie, blenderobject, kxscene, rendertools, - converter, - blenderscene); + converter); // this code is copied from above except that // object from groups are never in active layer diff --git a/source/gameengine/Converter/BL_BlenderDataConversion.h b/source/gameengine/Converter/BL_BlenderDataConversion.h index 48f08fb357b..bf733b748e2 100644 --- a/source/gameengine/Converter/BL_BlenderDataConversion.h +++ b/source/gameengine/Converter/BL_BlenderDataConversion.h @@ -37,7 +37,6 @@ class RAS_MeshObject* BL_ConvertMesh(struct Mesh* mesh,struct Object* lightobj,class RAS_IRenderTools* rendertools,class KX_Scene* scene, class KX_BlenderSceneConverter *converter); void BL_ConvertBlenderObjects(struct Main* maggie, - const STR_String& scenename, class KX_Scene* kxscene, class KX_KetsjiEngine* ketsjiEngine, e_PhysicsEngine physics_engine, diff --git a/source/gameengine/Converter/BL_SkinMeshObject.cpp b/source/gameengine/Converter/BL_SkinMeshObject.cpp index 0a18296f261..4eb01df410b 100644 --- a/source/gameengine/Converter/BL_SkinMeshObject.cpp +++ b/source/gameengine/Converter/BL_SkinMeshObject.cpp @@ -46,8 +46,8 @@ #include "BL_SkinMeshObject.h" #include "BL_DeformableGameObject.h" -BL_SkinMeshObject::BL_SkinMeshObject(Mesh* mesh, int lightlayer) - : RAS_MeshObject (mesh, lightlayer) +BL_SkinMeshObject::BL_SkinMeshObject(Mesh* mesh) + : RAS_MeshObject (mesh) { m_bDeformed = true; diff --git a/source/gameengine/Converter/BL_SkinMeshObject.h b/source/gameengine/Converter/BL_SkinMeshObject.h index 8544a2b958c..e2d0e37664d 100644 --- a/source/gameengine/Converter/BL_SkinMeshObject.h +++ b/source/gameengine/Converter/BL_SkinMeshObject.h @@ -46,7 +46,7 @@ protected: vector<int> m_cacheWeightIndex; public: - BL_SkinMeshObject(Mesh* mesh, int lightlayer); + BL_SkinMeshObject(Mesh* mesh); ~BL_SkinMeshObject(); void UpdateBuckets(void* clientobj, double* oglmatrix, diff --git a/source/gameengine/Converter/KX_BlenderSceneConverter.cpp b/source/gameengine/Converter/KX_BlenderSceneConverter.cpp index 9e0a710f44f..776a3528d89 100644 --- a/source/gameengine/Converter/KX_BlenderSceneConverter.cpp +++ b/source/gameengine/Converter/KX_BlenderSceneConverter.cpp @@ -242,15 +242,14 @@ struct BlenderDebugDraw : public btIDebugDraw #endif -void KX_BlenderSceneConverter::ConvertScene(const STR_String& scenename, - class KX_Scene* destinationscene, +void KX_BlenderSceneConverter::ConvertScene(class KX_Scene* destinationscene, PyObject* dictobj, class SCA_IInputDevice* keyinputdev, class RAS_IRenderTools* rendertools, class RAS_ICanvas* canvas) { //find out which physics engine - Scene *blenderscene = GetBlenderSceneForName(scenename); + Scene *blenderscene = destinationscene->GetBlenderScene(); e_PhysicsEngine physics_engine = UseBullet; bool useDbvtCulling = false; @@ -331,7 +330,6 @@ void KX_BlenderSceneConverter::ConvertScene(const STR_String& scenename, } BL_ConvertBlenderObjects(m_maggie, - scenename, destinationscene, m_ketsjiEngine, physics_engine, diff --git a/source/gameengine/Converter/KX_BlenderSceneConverter.h b/source/gameengine/Converter/KX_BlenderSceneConverter.h index b65f49c2b59..c47055803c8 100644 --- a/source/gameengine/Converter/KX_BlenderSceneConverter.h +++ b/source/gameengine/Converter/KX_BlenderSceneConverter.h @@ -92,7 +92,6 @@ public: * dictobj: python dictionary (for pythoncontrollers) */ virtual void ConvertScene( - const STR_String& scenename, class KX_Scene* destinationscene, PyObject* dictobj, class SCA_IInputDevice* keyinputdev, diff --git a/source/gameengine/Converter/KX_ConvertActuators.cpp b/source/gameengine/Converter/KX_ConvertActuators.cpp index ea812a71fdd..b6fc7f1dbba 100644 --- a/source/gameengine/Converter/KX_ConvertActuators.cpp +++ b/source/gameengine/Converter/KX_ConvertActuators.cpp @@ -638,7 +638,10 @@ void BL_ConvertActuators(char* maggiename, = new KX_SCA_ReplaceMeshActuator( gameobj, tmpmesh, - scene + scene, + (editobact->flag & ACT_EDOB_REPLACE_MESH_NOGFX)==0, + (editobact->flag & ACT_EDOB_REPLACE_MESH_PHYS)!=0 + ); baseact = tmpreplaceact; |