[haxe] 4.3 porting WIP.

This commit is contained in:
Davide Tantillo 2025-06-12 08:57:20 +02:00
parent cb7872274d
commit 651a897724
2 changed files with 6 additions and 16 deletions

View File

@ -173,8 +173,8 @@ class PhysicsConstraint extends Constraint<PhysicsConstraint, PhysicsConstraintD
yLag = yOffset - ys;
}
z = Math.max(0, 1 - a / t);
if (x) bone.worldX += xOffset * mix * this.data.x;
if (y) bone.worldY += yOffset * mix * this.data.y;
if (x) bone.worldX += (xOffset - xLag * z) * mix * data.x;
if (y) bone.worldY += (yOffset - yLag * z) * mix * data.y;
}
if (rotateOrShearX || scaleX) {
var ca = Math.atan2(bone.c, bone.a), c = 0., s = 0., mr = 0., dx = cx - bone.worldX, dy = cy - bone.worldY;
@ -205,7 +205,6 @@ class PhysicsConstraint extends Constraint<PhysicsConstraint, PhysicsConstraintD
var r = l * bone.worldScaleX - scaleLag * Math.max(0, 1 - aa / t);
if (r > 0) scaleOffset += (dx * c + dy * s) * i / r;
}
a = remaining;
if (a >= t) {
if (d == -1) {
d = Math.pow(p.damping, 60 * t);
@ -213,7 +212,7 @@ class PhysicsConstraint extends Constraint<PhysicsConstraint, PhysicsConstraintD
e = p.strength;
}
var g = Bone.yDown ? -p.gravity : p.gravity;
var rs = rotateOffset, ss = scaleLag, h = l / f,
var rs = rotateOffset, ss = scaleOffset, h = l / f,
ax = p.wind * skeleton.windX + g * skeleton.gravityX,
ay = p.wind * skeleton.windY + g * skeleton.gravityY;
while (true) {
@ -250,12 +249,9 @@ class PhysicsConstraint extends Constraint<PhysicsConstraint, PhysicsConstraintD
}
if (rotateOrShearX) {
var o:Float = (rotateOffset - rotateLag * z) * mix,
s:Float = 0,
c:Float = 0,
a:Float = 0;
var o = (rotateOffset - rotateLag * z) * mix, s = 0., c = 0., a = 0.;
if (data.shearX > 0) {
var r:Float = 0;
var r = 0.;
if (data.rotate > 0) {
r = o * data.rotate;
s = Math.sin(r);
@ -283,7 +279,7 @@ class PhysicsConstraint extends Constraint<PhysicsConstraint, PhysicsConstraintD
}
}
if (scaleX) {
var s:Float = 1 + (scaleOffset - scaleLag * z) * mix * this.data.scaleX;
var s = 1 + (scaleOffset - scaleLag * z) * mix * data.scaleX;
bone.a *= s;
bone.c *= s;
}

View File

@ -44,12 +44,6 @@ class PhysicsConstraintData extends ConstraintData<PhysicsConstraint, PhysicsCon
public var shearX = 0.;
public var limit = 0.;
public var step = 0.;
public var inertia = 0.;
public var strength = 0.;
public var damping = 0.;
public var massInverse = 0.;
public var wind = 0.;
public var gravity = 0.;
/** A percentage (0-1) that controls the mix between the constrained and unconstrained poses. */
public var mix = 0.;
public var inertiaGlobal = false;