From 09ea4744fcc4f3ff8d2483bf94bce34ced6ec1b7 Mon Sep 17 00:00:00 2001 From: Vulpovile Date: Wed, 5 Oct 2022 13:52:03 -0700 Subject: [PATCH] Optimized --- Blocks3D.vcproj | 4 ++-- src/source/Application.cpp | 4 ++-- src/source/DataModelV2/PartInstance.cpp | 1 - src/source/XplicitNgine/XplicitNgine.cpp | 9 +++++---- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Blocks3D.vcproj b/Blocks3D.vcproj index da2642a..4bc1e52 100644 --- a/Blocks3D.vcproj +++ b/Blocks3D.vcproj @@ -81,7 +81,7 @@ SuppressStartupBanner="true" ProgramDatabaseFile=".\Release/Blocks3D.pdb" SubSystem="2" - StackReserveSize="8388608" + StackReserveSize="16777216" TargetMachine="1" /> setParent(NULL); delete p; } - for(int i = 0; i < 10; i++) + for(int i = 0; i < 4; i++) { - _dataModel->getEngine()->step(0.05F); + _dataModel->getEngine()->step(0.03F); } onLogic(); diff --git a/src/source/DataModelV2/PartInstance.cpp b/src/source/DataModelV2/PartInstance.cpp index f9a8210..0ffb10d 100644 --- a/src/source/DataModelV2/PartInstance.cpp +++ b/src/source/DataModelV2/PartInstance.cpp @@ -259,7 +259,6 @@ void PartInstance::setCFrameNoSync(CoordinateFrame coordinateFrame) { cFrame = coordinateFrame; position = coordinateFrame.translation; - changed = true; } bool PartInstance::collides(PartInstance * part) diff --git a/src/source/XplicitNgine/XplicitNgine.cpp b/src/source/XplicitNgine/XplicitNgine.cpp index c29b77c..e1efa61 100644 --- a/src/source/XplicitNgine/XplicitNgine.cpp +++ b/src/source/XplicitNgine/XplicitNgine.cpp @@ -15,7 +15,7 @@ XplicitNgine::XplicitNgine() physSpace = dHashSpaceCreate(0); contactgroup = dJointGroupCreate(0); - dWorldSetGravity(physWorld, 0, -0.5, 0); + dWorldSetGravity(physWorld, 0, -9.8, 0); dWorldSetAutoDisableFlag(physWorld, 1); dWorldSetAutoDisableLinearThreshold(physWorld, 0.05F); dWorldSetAutoDisableAngularThreshold(physWorld, 0.05F); @@ -141,7 +141,7 @@ void XplicitNgine::createBody(PartInstance* partInstance) } dMass mass; - mass.setBox(partSize.x, partSize.y, partSize.z, 0.7F); + mass.setBox(sqrt(partSize.x*2), sqrt(partSize.y*2), sqrt(partSize.z*2), 0.7F); dBodySetMass(partInstance->physBody, &mass); // Debug output @@ -198,8 +198,9 @@ void XplicitNgine::step(float stepSize) { dJointGroupEmpty(contactgroup); dSpaceCollide (physSpace,0,&collisionCallback); - //dWorldQuickStep(physWorld, stepSize); - dWorldStepFast1(physWorld, stepSize, 20); + dWorldQuickStep(physWorld, stepSize); + //dWorldStepFast1(physWorld, stepSize*2, 100); + //dWorldStep(physWorld, stepSize); } void XplicitNgine::updateBody(PartInstance *partInstance, CoordinateFrame * cFrame)