From 18e65823663af6e2a1472b66486526a23d5e9c30 Mon Sep 17 00:00:00 2001 From: Jonathan Bradley Date: Tue, 24 Oct 2023 13:43:58 -0400 Subject: don't convert bullet to glm unless needed --- src/ecs.cpp | 32 ++++---------------------------- 1 file changed, 4 insertions(+), 28 deletions(-) (limited to 'src/ecs.cpp') diff --git a/src/ecs.cpp b/src/ecs.cpp index 9de5c44..b5b0ce4 100644 --- a/src/ecs.cpp +++ b/src/ecs.cpp @@ -403,20 +403,10 @@ CompInstance &ECS_CreateInstance(EntityHandle entHandle, EntityHandle entityType if (btDynamicsWorld) { comp->bt.localInertia = btVector3(0, 0, 0); - btVector3 scale; - GlmToBullet(instPos.scale, scale); comp->bt.collisionShape = Pke_New(bulletBucket); - new (comp->bt.collisionShape) btBoxShape(scale); + new (comp->bt.collisionShape) btBoxShape(instPos.scale); comp->bt.collisionShape->calculateLocalInertia(btScalar(1.f), comp->bt.localInertia); - btTransform transform; - transform.setIdentity(); - btVector3 origin; - GlmToBullet(instPos.pos, origin); - transform.setOrigin(origin); - btQuaternion rot; - GlmToBullet(instPos.rot, rot); - transform.setRotation(rot); - comp->bt.defaultMotionState = btDefaultMotionState(transform); + comp->bt.defaultMotionState = btDefaultMotionState(instPos.posRot); comp->bt.rigidBody = Pke_New(bulletBucket); new (comp->bt.rigidBody) btRigidBody(btScalar(1.f), &comp->bt.defaultMotionState, comp->bt.collisionShape, comp->bt.localInertia); comp->bt.rigidBody->setLinearVelocity(btVector3(0,0,0)); @@ -456,22 +446,8 @@ void ECS_UpdateInstance(EntityHandle entHandle, const InstPos &instPos, bool ove auto *inst = &Comp_Instance_BucketContainer.buckets[b].instances[i]; if (btDynamicsWorld && overridePhysics) { - btTransform transform; - transform.setIdentity(); - - btVector3 origin; - GlmToBullet(instPos.pos, origin); - transform.setOrigin(origin); - - btQuaternion rot; - GlmToBullet(instPos.rot, rot); - transform.setRotation(rot); - inst->bt.rigidBody->setWorldTransform(transform); - - btVector3 scale; - GlmToBullet(instPos.scale, scale); - inst->bt.collisionShape->setLocalScaling(scale); - + inst->bt.rigidBody->setWorldTransform(instPos.posRot); + inst->bt.collisionShape->setLocalScaling(instPos.scale); inst->bt.rigidBody->setLinearVelocity(btVector3(0,0,0)); inst->bt.rigidBody->setAngularVelocity(btVector3(0,0,0)); btDynamicsWorld->getPairCache()->cleanProxyFromPairs(inst->bt.rigidBody->getBroadphaseProxy(), btDynamicsWorld->getDispatcher()); -- cgit v1.2.3