diff --git a/Blocks3D.vcproj b/Blocks3D.vcproj
index d556d08..a6a890c 100644
--- a/Blocks3D.vcproj
+++ b/Blocks3D.vcproj
@@ -49,12 +49,16 @@
getSelectionService()->removeSelected(p);
+ if(g_dataModel->getSelectionService()->isSelected(p))
+ g_dataModel->getSelectionService()->removeSelected(p);
p->setParent(NULL);
delete p;
}
@@ -568,12 +569,12 @@ void Application::onGraphics(RenderDevice* rd) {
- renderDevice->setShininess(70);
- renderDevice->setSpecularCoefficient(Color3(0.1F, 0.1F, 0.1F));
+ //renderDevice->setShininess(70);
+ //renderDevice->setSpecularCoefficient(Color3(0.1F, 0.1F, 0.1F));
- //float lightAmbient[] = { 0.5F, 0.6F, 0.9F, 1.0F };
- //float lightDiffuse[] = { 0.6F, 0.4F, 0.9F, 1.0F };
- //float lightSpecular[] = { 0.8F, 0.6F, 1.0F, 1.0F };
+ //float lightAmbient[] = { 0.5F, 0.5F, 0.5F, 1.0F };
+ //float lightDiffuse[] = { 0.6F, 0.6F, 0.6F, 1.0F };
+ //float lightSpecular[] = { 0.8F, 0.8F, 0.8F, 1.0F };
//glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT, lightAmbient);
//glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, lightDiffuse);
diff --git a/src/source/XplicitNgine/XplicitNgine.cpp b/src/source/XplicitNgine/XplicitNgine.cpp
index e1efa61..0e3a3f1 100644
--- a/src/source/XplicitNgine/XplicitNgine.cpp
+++ b/src/source/XplicitNgine/XplicitNgine.cpp
@@ -15,11 +15,11 @@ XplicitNgine::XplicitNgine()
physSpace = dHashSpaceCreate(0);
contactgroup = dJointGroupCreate(0);
- dWorldSetGravity(physWorld, 0, -9.8, 0);
+ dWorldSetGravity(physWorld, 0, -9.8F, 0);
dWorldSetAutoDisableFlag(physWorld, 1);
dWorldSetAutoDisableLinearThreshold(physWorld, 0.05F);
dWorldSetAutoDisableAngularThreshold(physWorld, 0.05F);
- dWorldSetAutoDisableSteps(physWorld, 400);
+ dWorldSetAutoDisableSteps(physWorld, 40);
this->name = "PhysicsService";
//dGeomID ground_geom = dCreatePlane(physSpace, 0, 1, 0, 0);
@@ -52,7 +52,7 @@ void collisionCallback(void *data, dGeomID o1, dGeomID o2)
// Define contact surface properties
contact[i].surface.bounce = 0.5; //Elasticity
- contact[i].surface.mu = 0.3F; //Friction
+ contact[i].surface.mu = 0.4F; //Friction
contact[i].surface.slip1 = 0.0;
contact[i].surface.slip2 = 0.0;
contact[i].surface.soft_erp = 0.8F;
@@ -75,6 +75,8 @@ void XplicitNgine::deleteBody(PartInstance* partInstance)
if(partInstance->physBody != NULL)
{
dBodyEnable(partInstance->physBody);
+ if(partInstance->isAnchored())
+ dGeomSetBody(partInstance->physGeom[0], partInstance->physBody);
dGeomEnable(partInstance->physGeom[0]);
//createBody(partInstance);
//step(0.5F);