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:
authorInes Almeida <britalmeida@gmail.com>2014-07-23 16:07:01 +0400
committerInes Almeida <britalmeida@gmail.com>2015-02-21 15:16:20 +0300
commit9bfdcc4d32fa18b408ff44f8023ac6b3f9147827 (patch)
tree9bcab9aaa1b25b55628fc8738a687c3903aed15c /source/gameengine/Converter/BL_BlenderDataConversion.cpp
parent5785df431bc6522d02191d1c40c82db46d44596e (diff)
gameengine: removing addInitFromFrame hack
Diffstat (limited to 'source/gameengine/Converter/BL_BlenderDataConversion.cpp')
-rw-r--r--source/gameengine/Converter/BL_BlenderDataConversion.cpp99
1 files changed, 11 insertions, 88 deletions
diff --git a/source/gameengine/Converter/BL_BlenderDataConversion.cpp b/source/gameengine/Converter/BL_BlenderDataConversion.cpp
index a64ab712c06..7e0588fc7d0 100644
--- a/source/gameengine/Converter/BL_BlenderDataConversion.cpp
+++ b/source/gameengine/Converter/BL_BlenderDataConversion.cpp
@@ -1745,8 +1745,7 @@ static KX_GameObject* getGameOb(STR_String busc,CListValue* sumolist)
* note: all var names match args are passed from the caller */
static void bl_ConvertBlenderObject_Single(
KX_BlenderSceneConverter *converter,
- Scene *blenderscene, Object *blenderobject,
- vector<MT_Vector3> &inivel, vector<MT_Vector3> &iniang,
+ Object *blenderobject,
vector<parentChildLink> &vec_parent_child,
CListValue* logicbrick_conversionlist,
CListValue* objectlist, CListValue* inactivelist, CListValue* sumolist,
@@ -1755,10 +1754,6 @@ static void bl_ConvertBlenderObject_Single(
bool isInActiveLayer
)
{
- MT_Point3 posPrev;
- MT_Matrix3x3 angor;
- if (converter->addInitFromFrame) blenderscene->r.cfra=blenderscene->r.sfra;
-
MT_Point3 pos(
blenderobject->loc[0]+blenderobject->dloc[0],
blenderobject->loc[1]+blenderobject->dloc[1],
@@ -1772,35 +1767,6 @@ static void bl_ConvertBlenderObject_Single(
MT_Vector3 scale(blenderobject->size);
- if (converter->addInitFromFrame) {//rcruiz
- blenderscene->r.cfra=blenderscene->r.sfra-1;
- //XXX update_for_newframe();
- MT_Vector3 tmp=pos-MT_Point3(blenderobject->loc[0]+blenderobject->dloc[0],
- blenderobject->loc[1]+blenderobject->dloc[1],
- blenderobject->loc[2]+blenderobject->dloc[2]
- );
-
- float rotmatPrev[3][3];
- BKE_object_rot_to_mat3(blenderobject, rotmatPrev, false);
-
- float eulxyz[3], eulxyzPrev[3];
- mat3_to_eul(eulxyz, rotmat);
- mat3_to_eul(eulxyzPrev, rotmatPrev);
-
- double fps = (double) blenderscene->r.frs_sec/
- (double) blenderscene->r.frs_sec_base;
-
- tmp.scale(fps, fps, fps);
- inivel.push_back(tmp);
- tmp[0]=eulxyz[0]-eulxyzPrev[0];
- tmp[1]=eulxyz[1]-eulxyzPrev[1];
- tmp[2]=eulxyz[2]-eulxyzPrev[2];
- tmp.scale(fps, fps, fps);
- iniang.push_back(tmp);
- blenderscene->r.cfra=blenderscene->r.sfra;
- //XXX update_for_newframe();
- }
-
gameobj->NodeSetLocalPosition(pos);
gameobj->NodeSetLocalOrientation(rotation);
gameobj->NodeSetLocalScale(scale);
@@ -1813,7 +1779,7 @@ static void bl_ConvertBlenderObject_Single(
gameobj->SetName(blenderobject->id.name + 2);
// update children/parent hierarchy
- if ((blenderobject->parent != 0)&&(!converter->addInitFromFrame))
+ if (blenderobject->parent != 0)
{
// blender has an additional 'parentinverse' offset in each object
SG_Callbacks callback(NULL,NULL,NULL,KX_Scene::KX_ScenegraphUpdateFunc,KX_Scene::KX_ScenegraphRescheduleFunc);
@@ -1872,10 +1838,6 @@ static void bl_ConvertBlenderObject_Single(
logicbrick_conversionlist->Add(gameobj->AddRef());
- if (converter->addInitFromFrame) {
- posPrev=gameobj->NodeGetWorldPosition();
- angor=gameobj->NodeGetWorldOrientation();
- }
if (isInActiveLayer)
{
objectlist->Add(gameobj->AddRef());
@@ -1883,7 +1845,6 @@ static void bl_ConvertBlenderObject_Single(
gameobj->NodeUpdateGS(0);
gameobj->AddMeshUser();
-
}
else
{
@@ -1891,11 +1852,6 @@ static void bl_ConvertBlenderObject_Single(
//at the end of this function if it is not a root object
inactivelist->Add(gameobj->AddRef());
}
-
- if (converter->addInitFromFrame) {
- gameobj->NodeSetLocalPosition(posPrev);
- gameobj->NodeSetLocalOrientation(angor);
- }
}
@@ -1914,8 +1870,7 @@ void BL_ConvertBlenderObjects(struct Main* maggie,
#define BL_CONVERTBLENDEROBJECT_SINGLE \
bl_ConvertBlenderObject_Single(converter, \
- blenderscene, blenderobject, \
- inivel, iniang, \
+ blenderobject, \
vec_parent_child, \
logicbrick_conversionlist, \
objectlist, inactivelist, sumolist, \
@@ -1937,7 +1892,6 @@ void BL_ConvertBlenderObjects(struct Main* maggie,
RAS_FrameSettings::RAS_FrameType frame_type;
int aspect_width;
int aspect_height;
- vector<MT_Vector3> inivel,iniang;
set<Group*> grouplist; // list of groups to be converted
set<Object*> allblobj; // all objects converted
set<Object*> groupobj; // objects from groups (never in active layer)
@@ -2024,23 +1978,15 @@ void BL_ConvertBlenderObjects(struct Main* maggie,
rendertools,
converter,
libloading);
-
- bool isInActiveLayer = (blenderobject->lay & activeLayerBitInfo) !=0;
- bool addobj=true;
-
- if (converter->addInitFromFrame)
- if (!isInActiveLayer)
- addobj=false;
+ bool isInActiveLayer = (blenderobject->lay & activeLayerBitInfo) !=0;
if (gameobj)
{
- if (addobj)
- { /* macro calls object conversion funcs */
- BL_CONVERTBLENDEROBJECT_SINGLE;
+ /* macro calls object conversion funcs */
+ BL_CONVERTBLENDEROBJECT_SINGLE;
- if (gameobj->IsDupliGroup()) {
- grouplist.insert(blenderobject->dup_group);
- }
+ if (gameobj->IsDupliGroup()) {
+ grouplist.insert(blenderobject->dup_group);
}
/* Note about memory leak issues:
@@ -2084,22 +2030,12 @@ void BL_ConvertBlenderObjects(struct Main* maggie,
rendertools,
converter,
libloading);
-
- // this code is copied from above except that
- // object from groups are never in active layer
- bool isInActiveLayer = false;
- bool addobj=true;
-
- if (converter->addInitFromFrame)
- if (!isInActiveLayer)
- addobj=false;
+ bool isInActiveLayer = false;
if (gameobj)
{
- if (addobj)
- { /* macro calls object conversion funcs */
- BL_CONVERTBLENDEROBJECT_SINGLE;
- }
+ /* macro calls object conversion funcs */
+ BL_CONVERTBLENDEROBJECT_SINGLE;
if (gameobj->IsDupliGroup())
{
@@ -2109,7 +2045,6 @@ void BL_ConvertBlenderObjects(struct Main* maggie,
}
}
-
/* see comment above re: mem leaks */
gameobj->Release();
}
@@ -2331,18 +2266,6 @@ void BL_ConvertBlenderObjects(struct Main* maggie,
int layerMask = (groupobj.find(blenderobject) == groupobj.end()) ? activeLayerBitInfo : 0;
BL_CreatePhysicsObjectNew(gameobj,blenderobject,meshobj,kxscene,layerMask,converter,processCompoundChildren);
}
-
- //set ini linearVel and int angularVel //rcruiz
- if (converter->addInitFromFrame) {
- for (i=0;i<sumolist->GetCount();i++)
- {
- KX_GameObject* gameobj = (KX_GameObject*) sumolist->GetValue(i);
- if (gameobj->IsDynamic()) {
- gameobj->setLinearVelocity(inivel[i],false);
- gameobj->setAngularVelocity(iniang[i],false);
- }
- }
- }
// create physics joints
for (i=0;i<sumolist->GetCount();i++)