Skip to content

Commit b99e680

Browse files
committed
Fixed swizzle and embedded abort
1 parent 535388b commit b99e680

1 file changed

Lines changed: 34 additions & 27 deletions

File tree

src/physics/arcade/CollisionInfo.js

Lines changed: 34 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -236,14 +236,14 @@ var CollisionInfo = {
236236
var forceX = (touchingX || overlapX < overlapY);
237237

238238
// Swizzle it if the body was moving so fast the penetration is too deep to resolve using faces alone
239-
if (forceX && (maxOverlapY >= maxOverlapX))
240-
{
241-
forceX = false;
242-
}
243-
else if (!forceX && (maxOverlapX >= maxOverlapY))
244-
{
245-
forceX = true;
246-
}
239+
// if (forceX && (maxOverlapY > maxOverlapX))
240+
// {
241+
// forceX = false;
242+
// }
243+
// else if (!forceX && (maxOverlapX < maxOverlapY))
244+
// {
245+
// forceX = true;
246+
// }
247247

248248
var face = (forceX) ? faceX : faceY;
249249

@@ -278,7 +278,7 @@ var CollisionInfo = {
278278

279279
// Collision Checks
280280

281-
var abort = embedded;
281+
var abort = false;
282282

283283
if (!abort)
284284
{
@@ -337,40 +337,47 @@ var CollisionInfo = {
337337
{
338338
console.log('body1:', body1.gameObject.name, 'vs body2:', body2.gameObject.name, 'on face', face, faceX, faceY);
339339
console.log('intersects?', intersects, 'xy', intersectsX, intersectsY, 'touching?', touching);
340-
console.log('body1 x:', body1.x, 'right:', body1.right, 'body2 x:', body2.x, 'right:', body2.right);
341-
console.log('body1 y:', body1.y, 'bottom:', body1.bottom, 'body2 y:', body2.y, 'bottom:', body2.bottom);
342-
console.log('embedded?', embeddedX, embeddedY);
343-
344-
var col1 = body1.checkCollision;
345-
var col2 = body2.checkCollision;
340+
console.log('body1 x:', body1.x, 'right:', body1.right);
341+
console.log('body1 y:', body1.y, 'bottom:', body1.bottom);
342+
console.log('body2 x:', body2.x, 'right:', body2.right);
343+
console.log('body2 y:', body2.y, 'bottom:', body2.bottom);
344+
console.log('embedded?', embeddedX, embeddedY, 'aborted?:', abort);
345+
console.log('prev body1 x:', body1.prev.x, 'prev y:', body1.prev.y);
346+
console.log('prev body2 x:', body2.prev.x, 'prev y:', body2.prev.y);
347+
console.log('velocity1 x:', body1.velocity.x, 'y:', body1.velocity.y);
348+
console.log('velocity2 x:', body2.velocity.x, 'y:', body2.velocity.y);
349+
350+
// var col1 = body1.checkCollision;
351+
// var col2 = body2.checkCollision;
346352

347353
// console.log('check x:', checkX, 'y:', checkY);
348-
console.log('check col 1:', col1.up, 'down:', col1.down, 'left:', col1.left, 'right:', col1.right);
349-
console.log('check col 2:', col2.up, 'down:', col2.down, 'left:', col2.left, 'right:', col2.right);
354+
// console.log('check col 1:', col1.up, 'down:', col1.down, 'left:', col1.left, 'right:', col1.right);
355+
// console.log('check col 2:', col2.up, 'down:', col2.down, 'left:', col2.left, 'right:', col2.right);
350356

351357
if (forceX)
352358
{
353-
console.log('forceX');
354-
console.log('body1 overlaps body2 on the ' + ((faceX === CONST.FACING_LEFT) ? 'left' : 'right') + ' face');
359+
console.log('FORCE X body1 overlaps body2 on the ' + ((faceX === CONST.FACING_LEFT) ? 'left' : 'right') + ' face');
355360
}
356361
else
357362
{
358-
console.log('forceY');
359-
console.log('body1 overlaps body2 on the ' + ((faceY === CONST.FACING_UP) ? 'top' : 'bottom') + ' face');
363+
console.log('FORCE Y body1 overlaps body2 on the ' + ((faceY === CONST.FACING_UP) ? 'top' : 'bottom') + ' face');
360364
}
361365

362366
console.log('overlapX:', overlapX, 'overlapY:', overlapY);
363-
console.log('distanceX:', distanceX1, distanceX2, 'prevDistanceX', prevDistanceX1, prevDistanceX2, 'left?', (distanceX1 > distanceX2 && prevDistanceX1 > prevDistanceX2));
364-
console.log('distanceY:', distanceY1, distanceY2, 'prevDistanceY', prevDistanceY1, prevDistanceY2, 'top?', (distanceY1 > distanceY2 && prevDistanceY1 > prevDistanceY2));
367+
console.log('maxOverlapX:', maxOverlapX, 'maxOverlapY:', maxOverlapY);
368+
console.log('distanceX:', distanceX1, distanceX2);
369+
console.log('prevDistanceX', prevDistanceX1, prevDistanceX2, 'left?', (distanceX1 > distanceX2 && prevDistanceX1 > prevDistanceX2));
370+
console.log('distanceY:', distanceY1, distanceY2);
371+
console.log('prevDistanceY', prevDistanceY1, prevDistanceY2, 'top?', (distanceY1 > distanceY2 && prevDistanceY1 > prevDistanceY2));
365372

366373
// console.log('shareX1:', shareX1, 'shareX2:', shareX2);
367374
// console.log('shareY1:', shareY1, 'shareY2:', shareY2);
368375

369-
var blocked1 = body1.blocked;
370-
var blocked2 = body2.blocked;
376+
// var blocked1 = body1.blocked;
377+
// var blocked2 = body2.blocked;
371378

372-
console.log('body1 blocked up:', blocked1.up, 'down:', blocked1.down, 'left:', blocked1.left, 'right:', blocked1.right);
373-
console.log('body2 blocked up:', blocked2.up, 'down:', blocked2.down, 'left:', blocked2.left, 'right:', blocked2.right);
379+
// console.log('body1 blocked up:', blocked1.up, 'down:', blocked1.down, 'left:', blocked1.left, 'right:', blocked1.right);
380+
// console.log('body2 blocked up:', blocked2.up, 'down:', blocked2.down, 'left:', blocked2.left, 'right:', blocked2.right);
374381

375382
// console.log('x compare (CI): ', body1.right, 'body2', body2.x, '=', (body1.right - body2.x));
376383
// console.log('y compare (CI): ', body1.bottom, 'body2', body2.y, '=', (body1.bottom - body2.y));

0 commit comments

Comments
 (0)