diff --git a/KeepersCompound.LGS/Database/Chunks/Property.cs b/KeepersCompound.LGS/Database/Chunks/Property.cs index 76c45e7..60eb087 100644 --- a/KeepersCompound.LGS/Database/Chunks/Property.cs +++ b/KeepersCompound.LGS/Database/Chunks/Property.cs @@ -500,3 +500,27 @@ public class PropSpotlightAndAmbient : Property writer.Write(SpotBrightness); } } + +public class PropJointPos : Property +{ + public float[] Positions; + + public override void Read(BinaryReader reader) + { + base.Read(reader); + Positions = new float[6]; + for (var i = 0; i < 6; i++) + { + Positions[i] = reader.ReadSingle(); + } + } + + public override void Write(BinaryWriter writer) + { + base.Write(writer); + foreach (var position in Positions) + { + writer.Write(position); + } + } +} diff --git a/KeepersCompound.LGS/Database/File.cs b/KeepersCompound.LGS/Database/File.cs index 94aa49a..5996c75 100644 --- a/KeepersCompound.LGS/Database/File.cs +++ b/KeepersCompound.LGS/Database/File.cs @@ -155,6 +155,7 @@ public class DbFile "P$ModelName" => new PropertyChunk(), "P$Scale" => new PropertyChunk(), "P$RenderTyp" => new PropertyChunk(), + "P$JointPos" => new PropertyChunk(), "P$OTxtRepr0" => new PropertyChunk(), "P$OTxtRepr1" => new PropertyChunk(), "P$OTxtRepr2" => new PropertyChunk(), diff --git a/KeepersCompound.LGS/Database/ObjectHierarchy.cs b/KeepersCompound.LGS/Database/ObjectHierarchy.cs index 795b7ef..cc31c8f 100644 --- a/KeepersCompound.LGS/Database/ObjectHierarchy.cs +++ b/KeepersCompound.LGS/Database/ObjectHierarchy.cs @@ -91,6 +91,7 @@ public class ObjectHierarchy AddProp("P$ModelName"); AddProp("P$Scale"); AddProp("P$RenderTyp"); + AddProp("P$JointPos"); AddProp("P$OTxtRepr0"); AddProp("P$OTxtRepr1"); AddProp("P$OTxtRepr2");