diff --git a/src/PathedInterior.hx b/src/PathedInterior.hx index 82cdda4d..d14ffde4 100644 --- a/src/PathedInterior.hx +++ b/src/PathedInterior.hx @@ -243,7 +243,7 @@ class PathedInterior extends InteriorObject { } function updatePosition() { - var tform = this.collider.transform; + var tform = this.collider.transform.clone(); tform.setPosition(this.currentPosition); this.setTransform(tform); this.collider.setTransform(tform); diff --git a/src/collision/CollisionEntity.hx b/src/collision/CollisionEntity.hx index e7a7306e..b6674e70 100644 --- a/src/collision/CollisionEntity.hx +++ b/src/collision/CollisionEntity.hx @@ -63,7 +63,7 @@ class CollisionEntity implements IOctreeObject { public function setTransform(transform:Matrix) { if (this.transform == transform) return; - this.transform = transform; + this.transform.load(transform); this.invTransform = transform.getInverse(); generateBoundingBox(); } diff --git a/src/collision/CollisionWorld.hx b/src/collision/CollisionWorld.hx index 913fff0f..5c0cb561 100644 --- a/src/collision/CollisionWorld.hx +++ b/src/collision/CollisionWorld.hx @@ -1,5 +1,6 @@ package collision; +import src.MarbleGame; import src.TimeState; import h3d.col.Bounds; import h3d.col.Sphere; @@ -45,8 +46,8 @@ class CollisionWorld { for (obj in dynamicEntities) { if (obj != spherecollision) { - // if (obj.boundingBox.collide(box) && obj.go.isCollideable) - contacts = contacts.concat(obj.sphereIntersection(spherecollision, timeState)); + if (obj.boundingBox.collide(box) && obj.go.isCollideable) + contacts = contacts.concat(obj.sphereIntersection(spherecollision, timeState)); } } return {foundEntities: foundEntities, contacts: contacts}; @@ -82,8 +83,8 @@ class CollisionWorld { public function boundingSearch(bounds:Bounds) { var contacts = this.octree.boundingSearch(bounds).map(x -> cast(x, CollisionEntity)); for (obj in dynamicEntities) { - // if (obj.boundingBox.collide(bounds)) - contacts.push(obj); + if (obj.boundingBox.collide(bounds)) + contacts.push(obj); } return contacts; } diff --git a/src/collision/gjk/ConvexHull.hx b/src/collision/gjk/ConvexHull.hx index 4fbfcf4f..ae4b1b42 100644 --- a/src/collision/gjk/ConvexHull.hx +++ b/src/collision/gjk/ConvexHull.hx @@ -31,7 +31,7 @@ class ConvexHull implements GJKShape { public function setTransform(matrix:Matrix):Void { if (this.transform != matrix) { - this.transform = matrix; + this.transform.load(matrix); this._centercache = null; } }