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/BL_BlenderDataConversion.cpp')
-rw-r--r--source/gameengine/Converter/BL_BlenderDataConversion.cpp22
1 files changed, 17 insertions, 5 deletions
diff --git a/source/gameengine/Converter/BL_BlenderDataConversion.cpp b/source/gameengine/Converter/BL_BlenderDataConversion.cpp
index 1d90d97f824..c331b878178 100644
--- a/source/gameengine/Converter/BL_BlenderDataConversion.cpp
+++ b/source/gameengine/Converter/BL_BlenderDataConversion.cpp
@@ -145,9 +145,11 @@ extern "C" {
#include "BKE_customdata.h"
#include "BKE_cdderivedmesh.h"
#include "BKE_DerivedMesh.h"
+#include "BKE_material.h" /* give_current_material */
+
+extern Material defmaterial; /* material.c */
}
-#include "BKE_material.h" /* give_current_material */
/* end of blender include block */
#include "KX_BlenderInputDevice.h"
@@ -462,7 +464,9 @@ bool ConvertMaterial(
}
}
}
- material->flag[i] |= (mat->ipo!=0)?HASIPO:0;
+#if 0 /* this flag isnt used anymore */
+ material->flag[i] |= (BKE_animdata_from_id(mat->id) != NULL) ? HASIPO : 0;
+#endif
/// --------------------------------
// mapping methods
material->mapping[i].mapping |= ( mttmp->texco & TEXCO_REFL )?USEREFL:0;
@@ -837,6 +841,11 @@ RAS_MeshObject* BL_ConvertMesh(Mesh* mesh, Object* blenderobj, KX_Scene* scene,
else
ma = mesh->mat ? mesh->mat[mface->mat_nr]:NULL;
+ /* ckeck for texface since texface _only_ is used as a fallback */
+ if(ma == NULL && tface == NULL) {
+ ma= &defmaterial;
+ }
+
{
bool visible = true;
bool twoside = false;
@@ -1969,8 +1978,8 @@ void BL_ConvertBlenderObjects(struct Main* maggie,
frame_type = RAS_FrameSettings::e_frame_scale;
}
- aspect_width = blenderscene->gm.xsch;
- aspect_height = blenderscene->gm.ysch;
+ aspect_width = blenderscene->r.xsch*blenderscene->r.xasp;
+ aspect_height = blenderscene->r.ysch*blenderscene->r.yasp;
}
RAS_FrameSettings frame_settings(
@@ -2600,6 +2609,9 @@ void BL_ConvertBlenderObjects(struct Main* maggie,
bConstraint *curcon;
conlist = get_active_constraints2(blenderobject);
+ if((gameobj->GetLayer()&activeLayerBitInfo)==0)
+ continue;
+
if (conlist) {
for (curcon = (bConstraint *)conlist->first; curcon; curcon=(bConstraint *)curcon->next) {
if (curcon->type==CONSTRAINT_TYPE_RIGIDBODYJOINT){
@@ -2613,7 +2625,7 @@ void BL_ConvertBlenderObjects(struct Main* maggie,
if (dat->tar)
{
KX_GameObject *gotar=getGameOb(dat->tar->id.name+2,sumolist);
- if (gotar && gotar->GetPhysicsController())
+ if (gotar && ((gotar->GetLayer()&activeLayerBitInfo)!=0) && gotar->GetPhysicsController())
physctr2 = (PHY_IPhysicsController*) gotar->GetPhysicsController()->GetUserData();
}