roavatar-renderer 1.2.0 → 1.2.1

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.
Files changed (2) hide show
  1. package/dist/index.js +20 -1
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -57028,10 +57028,12 @@ class WrapLayerDesc {
57028
57028
  cage;
57029
57029
  cageOrigin;
57030
57030
  autoSkin;
57031
+ importOrigin;
57031
57032
  //temporary, order of array is used instead
57032
57033
  order;
57033
57034
  isSame(other) {
57034
- return this.reference === other.reference && this.referenceOrigin.isSame(other.referenceOrigin) && this.cage === other.cage && this.cageOrigin.isSame(other.cageOrigin) && this.autoSkin === other.autoSkin;
57035
+ const importOriginSame = this.importOrigin && other.importOrigin && this.importOrigin.isSame(other.importOrigin) || !this.importOrigin && !other.importOrigin;
57036
+ return this.reference === other.reference && this.referenceOrigin.isSame(other.referenceOrigin) && this.cage === other.cage && this.cageOrigin.isSame(other.cageOrigin) && this.autoSkin === other.autoSkin && importOriginSame;
57035
57037
  }
57036
57038
  constructor(reference, referenceOrigin, cage, cageOrigin) {
57037
57039
  this.reference = reference;
@@ -57592,6 +57594,20 @@ class MeshDesc {
57592
57594
  layerClothingChunked(mesh, ref_mesh, dist_mesh, layeredClothingCacheId);
57593
57595
  break;
57594
57596
  }
57597
+ } else {
57598
+ let totalOffset = this.layerDesc.cageOrigin.inverse();
57599
+ if (this.layerDesc.importOrigin) {
57600
+ totalOffset = totalOffset.multiply(this.layerDesc.importOrigin.inverse());
57601
+ }
57602
+ const rig = this.instance?.parent?.parent;
57603
+ if (rig) {
57604
+ const lowerTorso = rig.FindFirstChild("LowerTorso");
57605
+ if (lowerTorso) {
57606
+ const lowerTorsoSize = lowerTorso.PropOrDefault("Size", new Vector32());
57607
+ totalOffset = totalOffset.multiply(new CFrame(0, -lowerTorsoSize.Y, 0));
57608
+ }
57609
+ }
57610
+ offsetMesh(mesh, totalOffset);
57595
57611
  }
57596
57612
  the_ref_mesh = void 0;
57597
57613
  }
@@ -57752,6 +57768,9 @@ class MeshDesc {
57752
57768
  if (wrapLayer.HasProperty("AutoSkin")) {
57753
57769
  this.layerDesc.autoSkin = wrapLayer.Prop("AutoSkin");
57754
57770
  }
57771
+ if (wrapLayer.HasProperty("ImportOrigin")) {
57772
+ this.layerDesc.importOrigin = wrapLayer.Prop("ImportOrigin");
57773
+ }
57755
57774
  this.layerDesc.order = layerOrder;
57756
57775
  this.modelLayersDesc = getModelLayersDesc(model);
57757
57776
  } else if (wrapDeformer && wrapTarget) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "roavatar-renderer",
3
- "version": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "description": "A renderer for Roblox avatars, used by the RoAvatar extension.",
5
5
  "author": "steinan",
6
6
  "type": "module",