From 0ae48c5cc8a4e8efee2d09df94f5d38f11deef29 Mon Sep 17 00:00:00 2001
From: phoriah <95628489+phoriah@users.noreply.github.com>
Date: Tue, 21 Oct 2025 01:24:34 +0200
Subject: [PATCH] AcousticAbsorption Support for PhysicalProperties
---
saveinstance.luau | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/saveinstance.luau b/saveinstance.luau
index 3505334..e68f581 100644
--- a/saveinstance.luau
+++ b/saveinstance.luau
@@ -569,11 +569,11 @@ Binary_Descriptors = {
["PhysicalProperties"] = function(raw) -- ? Not sure yet (https://github.com/RobloxAPI/spec/blob/master/properties/drafts/AttributesSerializeFull.md#physicalproperties)
local len = 1
if raw then
- len += 20
+ len += 24
end
local b = buffer.create(len)
- buffer.writeu8(b, 0, raw and 1 or 0)
+ buffer.writeu8(b, 0, raw and 3 or 0) -- 3 means it has set CustomPhysicalProperties & has set AcousticAbsorption
if raw then
buffer.writef32(b, 1, raw.Density)
@@ -581,6 +581,7 @@ Binary_Descriptors = {
buffer.writef32(b, 9, raw.Elasticity)
buffer.writef32(b, 13, raw.FrictionWeight)
buffer.writef32(b, 17, raw.ElasticityWeight)
+ buffer.writef32(b, 21, raw.AcousticAbsorption)
end
return b, len
@@ -886,6 +887,7 @@ XML_Descriptors = {
Elasticity
FrictionWeight
ElasticityWeight
+ AcousticAbsorption
The value of each component is represented by the text content formatted as a 32-bit floating point number (see float)
]]
@@ -893,7 +895,7 @@ XML_Descriptors = {
local CustomPhysics = "" .. XML_Descriptors.bool(raw and true or false) .. ""
return raw
- and CustomPhysics .. "" .. raw.Density .. "" .. raw.Friction .. "" .. raw.Elasticity .. "" .. raw.FrictionWeight .. "" .. raw.ElasticityWeight .. ""
+ and CustomPhysics .. "" .. raw.Density .. "" .. raw.Friction .. "" .. raw.Elasticity .. "" .. raw.FrictionWeight .. "" .. raw.ElasticityWeight .. "" .. raw.AcousticAbsorption .. ""
or CustomPhysics
end,
-- ProtectedString = function(raw) return tostring(raw), "ProtectedString" end,