From 1a1ddc8fe30611146e620fc1b9d6c0d4a1cbca0b Mon Sep 17 00:00:00 2001 From: RandomityGuy <31925790+RandomityGuy@users.noreply.github.com> Date: Fri, 19 May 2023 19:10:55 +0530 Subject: [PATCH] use fast transforms for colliders --- src/PathedInterior.hx | 1 + src/collision/CollisionEntity.hx | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/PathedInterior.hx b/src/PathedInterior.hx index 79785ad2..1da9205f 100644 --- a/src/PathedInterior.hx +++ b/src/PathedInterior.hx @@ -104,6 +104,7 @@ class PathedInterior extends InteriorObject { this.setRotationQuat(this.baseOrientation.clone()); this.collider.setTransform(this.getTransform()); + this.collider.fastTransform = true; this.path = cast this.simGroup.elements.filter((element) -> element._type == MissionElementType.Path)[0]; diff --git a/src/collision/CollisionEntity.hx b/src/collision/CollisionEntity.hx index 7754bc8b..3cb21a36 100644 --- a/src/collision/CollisionEntity.hx +++ b/src/collision/CollisionEntity.hx @@ -37,6 +37,7 @@ class CollisionEntity implements IOctreeObject implements IBVHObject { public var go:GameObject; public var userData:Int; + public var fastTransform:Bool = false; public var difEdgeMap:Map; @@ -73,7 +74,7 @@ class CollisionEntity implements IOctreeObject implements IBVHObject { if (this.transform.equal(transform)) return; // Speedup - if (Util.mat3x3equal(this.transform, transform)) { + if (this.fastTransform && Util.mat3x3equal(this.transform, transform)) { var oldPos = this.transform.getPosition(); var newPos = transform.getPosition(); this.transform.setPosition(newPos);