excalibur 0.26.0-alpha.293 → 0.26.0-alpha.294

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -22,10 +22,12 @@ This project adheres to [Semantic Versioning](http://semver.org/).
22
22
 
23
23
  ### Fixed
24
24
 
25
+ - Fixed issue with `ArcadeSolver` where stacked/overlapped tiles would double solve the position of the collider for the same overlap
25
26
  - EventDispatcher
26
27
  - `EventDispatcher` - doesn't require the target object. The context of `this` is not tampered anymore.
27
28
  - Pointers
28
29
  - `PointerAbstraction` - is fixed to maintain reference
30
+ -
29
31
 
30
32
  ### Updates
31
33
 
@@ -42,6 +42,11 @@ export class ArcadeSolver extends CollisionSolver {
42
42
  solvePosition(contacts) {
43
43
  var _a, _b;
44
44
  for (const contact of contacts) {
45
+ // if bounds no longer interesect skip to the next
46
+ // this removes jitter from overlapping/stacked solid tiles or a wall of solid tiles
47
+ if (!contact.colliderA.bounds.intersect(contact.colliderB.bounds)) {
48
+ continue;
49
+ }
45
50
  let mtv = contact.mtv;
46
51
  const colliderA = contact.colliderA;
47
52
  const colliderB = contact.colliderB;
@@ -1 +1 @@
1
- {"version":3,"file":"ArcadeSolver.js","sourceRoot":"","sources":["../../../../src/engine/Collision/Solver/ArcadeSolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ArcadeSolver.js","sourceRoot":"","sources":["../../../../src/engine/Collision/Solver/ArcadeSolver.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * excalibur - 0.26.0-alpha.293+ba20717 - 2021-11-12
2
+ * excalibur - 0.26.0-alpha.294+edc22e2 - 2021-11-13
3
3
  * https://github.com/excaliburjs/Excalibur
4
4
  * Copyright (c) 2021 Excalibur.js <https://github.com/excaliburjs/Excalibur/graphs/contributors>
5
5
  * Licensed BSD-2-Clause
@@ -20581,6 +20581,11 @@ class ArcadeSolver extends CollisionSolver {
20581
20581
  solvePosition(contacts) {
20582
20582
  var _a, _b;
20583
20583
  for (const contact of contacts) {
20584
+ // if bounds no longer interesect skip to the next
20585
+ // this removes jitter from overlapping/stacked solid tiles or a wall of solid tiles
20586
+ if (!contact.colliderA.bounds.intersect(contact.colliderB.bounds)) {
20587
+ continue;
20588
+ }
20584
20589
  let mtv = contact.mtv;
20585
20590
  const colliderA = contact.colliderA;
20586
20591
  const colliderB = contact.colliderB;
@@ -28452,7 +28457,7 @@ Promises_Promise = Promise_1 = Promises_decorate([
28452
28457
  * The current Excalibur version string
28453
28458
  * @description `process.env.__EX_VERSION` gets replaced by Webpack on build
28454
28459
  */
28455
- const EX_VERSION = "0.26.0-alpha.293+ba20717";
28460
+ const EX_VERSION = "0.26.0-alpha.294+edc22e2";
28456
28461
 
28457
28462
  polyfill();
28458
28463
  // This file is used as the bundle entry point and exports everything