summaryrefslogtreecommitdiff
path: root/src/ecs.cpp
diff options
context:
space:
mode:
authorJonathan Bradley <jcb@pikum.xyz>2023-10-31 14:02:33 -0400
committerJonathan Bradley <jcb@pikum.xyz>2023-11-15 13:13:27 -0500
commit75e6b2bd37951e5dea169352e97ad3b4ca813209 (patch)
treeb09089a45c475e886f01a1bcf112e0650d4fcd16 /src/ecs.cpp
parentf2c808b1235b9d76e4d4753c025f404e7736ca3c (diff)
default and instance-specific mass
Diffstat (limited to 'src/ecs.cpp')
-rw-r--r--src/ecs.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/ecs.cpp b/src/ecs.cpp
index 654bc71..ee9201e 100644
--- a/src/ecs.cpp
+++ b/src/ecs.cpp
@@ -412,6 +412,9 @@ void ECS_UpdateInstance(EntityHandle entHandle, const InstPos &instPos, bool ove
auto *inst = &Comp_Instance_BucketContainer.buckets[b].instances[i];
if (BtDynamicsWorld && overridePhysics) {
+ btVector3 localInertia(0, 0, 0);
+ inst->bt.rigidBody->getCollisionShape()->calculateLocalInertia(instPos.mass, localInertia);
+ inst->bt.rigidBody->setMassProps(instPos.mass, localInertia);
inst->bt.rigidBody->setWorldTransform(instPos.posRot);
inst->bt.rigidBody->getCollisionShape()->setLocalScaling(instPos.scale);
inst->bt.rigidBody->setLinearVelocity(btVector3(0,0,0));