tweak(frag): update Unknown values

This commit is contained in:
ook3d 2023-12-14 16:39:16 -05:00
parent f9a3559263
commit 4d49215671

View File

@ -2111,16 +2111,16 @@ namespace CodeWalker.GameFiles
public uint Unknown_04h = 1; // 0x00000001 public uint Unknown_04h = 1; // 0x00000001
public ulong Unknown_08h; // 0x0000000000000000 public ulong Unknown_08h; // 0x0000000000000000
public uint Unknown_10h; // 0x00000000 public uint Unknown_10h; // 0x00000000
public float Unknown_14h { get; set; } public float SmallestAngInertia { get; set; }
public float Unknown_18h { get; set; } public float LargestAngInertia { get; set; }
public float Unknown_1Ch { get; set; } public float MinMoveForce { get; set; }
public ulong ArticulatedBodyTypePointer { get; set; } public ulong ArticulatedBodyTypePointer { get; set; }
public ulong ChildrenUnkFloatsPointer { get; set; } public ulong ChildrenUnkFloatsPointer { get; set; }
public Vector3 PositionOffset { get; set; } public Vector3 PositionOffset { get; set; }
public uint Unknown_3Ch { get; set; } = 0x7fc00001; // 0x7f800001, 0x7fc00001 public uint Unknown_3Ch { get; set; } = 0x7fc00001; // 0x7f800001, 0x7fc00001
public Vector3 Unknown_40h { get; set; } public Vector3 OriginalRootCGOffset { get; set; }
public uint Unknown_4Ch { get; set; } = 0x7fc00001; // 0x7f800001, 0x7fc00001 public uint Unknown_4Ch { get; set; } = 0x7fc00001; // 0x7f800001, 0x7fc00001
public Vector3 Unknown_50h { get; set; } public Vector3 UnbrokenCGOffset { get; set; }
public uint Unknown_5Ch = 0x7f800001; // 0x7f800001 public uint Unknown_5Ch = 0x7f800001; // 0x7f800001
public Vector3 DampingLinearC { get; set; } public Vector3 DampingLinearC { get; set; }
public uint Unknown_6Ch = 0x7f800001; // 0x7f800001 public uint Unknown_6Ch = 0x7f800001; // 0x7f800001
@ -2186,16 +2186,16 @@ namespace CodeWalker.GameFiles
this.Unknown_04h = reader.ReadUInt32(); this.Unknown_04h = reader.ReadUInt32();
this.Unknown_08h = reader.ReadUInt64(); this.Unknown_08h = reader.ReadUInt64();
this.Unknown_10h = reader.ReadUInt32(); this.Unknown_10h = reader.ReadUInt32();
this.Unknown_14h = reader.ReadSingle(); this.SmallestAngInertia = reader.ReadSingle();
this.Unknown_18h = reader.ReadSingle(); this.LargestAngInertia = reader.ReadSingle();
this.Unknown_1Ch = reader.ReadSingle(); this.MinMoveForce = reader.ReadSingle();
this.ArticulatedBodyTypePointer = reader.ReadUInt64(); this.ArticulatedBodyTypePointer = reader.ReadUInt64();
this.ChildrenUnkFloatsPointer = reader.ReadUInt64(); this.ChildrenUnkFloatsPointer = reader.ReadUInt64();
this.PositionOffset = reader.ReadVector3(); this.PositionOffset = reader.ReadVector3();
this.Unknown_3Ch = reader.ReadUInt32(); this.Unknown_3Ch = reader.ReadUInt32();
this.Unknown_40h = reader.ReadVector3(); this.OriginalRootCGOffset = reader.ReadVector3();
this.Unknown_4Ch = reader.ReadUInt32(); this.Unknown_4Ch = reader.ReadUInt32();
this.Unknown_50h = reader.ReadVector3(); this.UnbrokenCGOffset = reader.ReadVector3();
this.Unknown_5Ch = reader.ReadUInt32(); this.Unknown_5Ch = reader.ReadUInt32();
this.DampingLinearC = reader.ReadVector3(); this.DampingLinearC = reader.ReadVector3();
this.Unknown_6Ch = reader.ReadUInt32(); this.Unknown_6Ch = reader.ReadUInt32();
@ -2393,16 +2393,16 @@ namespace CodeWalker.GameFiles
writer.Write(this.Unknown_04h); writer.Write(this.Unknown_04h);
writer.Write(this.Unknown_08h); writer.Write(this.Unknown_08h);
writer.Write(this.Unknown_10h); writer.Write(this.Unknown_10h);
writer.Write(this.Unknown_14h); writer.Write(this.SmallestAngInertia);
writer.Write(this.Unknown_18h); writer.Write(this.LargestAngInertia);
writer.Write(this.Unknown_1Ch); writer.Write(this.MinMoveForce);
writer.Write(this.ArticulatedBodyTypePointer); writer.Write(this.ArticulatedBodyTypePointer);
writer.Write(this.ChildrenUnkFloatsPointer); writer.Write(this.ChildrenUnkFloatsPointer);
writer.Write(this.PositionOffset); writer.Write(this.PositionOffset);
writer.Write(this.Unknown_3Ch); writer.Write(this.Unknown_3Ch);
writer.Write(this.Unknown_40h); writer.Write(this.OriginalRootCGOffset);
writer.Write(this.Unknown_4Ch); writer.Write(this.Unknown_4Ch);
writer.Write(this.Unknown_50h); writer.Write(this.UnbrokenCGOffset);
writer.Write(this.Unknown_5Ch); writer.Write(this.Unknown_5Ch);
writer.Write(this.DampingLinearC); writer.Write(this.DampingLinearC);
writer.Write(this.Unknown_6Ch); writer.Write(this.Unknown_6Ch);
@ -2440,12 +2440,12 @@ namespace CodeWalker.GameFiles
} }
public void WriteXml(StringBuilder sb, int indent, string ddsfolder) public void WriteXml(StringBuilder sb, int indent, string ddsfolder)
{ {
YftXml.ValueTag(sb, indent, "Unknown14", FloatUtil.ToString(Unknown_14h)); YftXml.ValueTag(sb, indent, "SmallestAngInertia", FloatUtil.ToString(SmallestAngInertia));
YftXml.ValueTag(sb, indent, "Unknown18", FloatUtil.ToString(Unknown_18h)); YftXml.ValueTag(sb, indent, "LargestAngInertia", FloatUtil.ToString(LargestAngInertia));
YftXml.ValueTag(sb, indent, "Unknown1C", FloatUtil.ToString(Unknown_1Ch)); YftXml.ValueTag(sb, indent, "MinMoveForce", FloatUtil.ToString(MinMoveForce));
YftXml.SelfClosingTag(sb, indent, "PositionOffset " + FloatUtil.GetVector3XmlString(PositionOffset)); YftXml.SelfClosingTag(sb, indent, "PositionOffset " + FloatUtil.GetVector3XmlString(PositionOffset));
YftXml.SelfClosingTag(sb, indent, "Unknown40 " + FloatUtil.GetVector3XmlString(Unknown_40h)); YftXml.SelfClosingTag(sb, indent, "OriginalRootCGOffset " + FloatUtil.GetVector3XmlString(OriginalRootCGOffset));
YftXml.SelfClosingTag(sb, indent, "Unknown50 " + FloatUtil.GetVector3XmlString(Unknown_50h)); YftXml.SelfClosingTag(sb, indent, "UnbrokenCGOffset " + FloatUtil.GetVector3XmlString(UnbrokenCGOffset));
YftXml.SelfClosingTag(sb, indent, "DampingLinearC " + FloatUtil.GetVector3XmlString(DampingLinearC)); YftXml.SelfClosingTag(sb, indent, "DampingLinearC " + FloatUtil.GetVector3XmlString(DampingLinearC));
YftXml.SelfClosingTag(sb, indent, "DampingLinearV " + FloatUtil.GetVector3XmlString(DampingLinearV)); YftXml.SelfClosingTag(sb, indent, "DampingLinearV " + FloatUtil.GetVector3XmlString(DampingLinearV));
YftXml.SelfClosingTag(sb, indent, "DampingLinearV2 " + FloatUtil.GetVector3XmlString(DampingLinearV2)); YftXml.SelfClosingTag(sb, indent, "DampingLinearV2 " + FloatUtil.GetVector3XmlString(DampingLinearV2));
@ -2515,12 +2515,12 @@ namespace CodeWalker.GameFiles
} }
public void ReadXml(XmlNode node, string ddsfolder) public void ReadXml(XmlNode node, string ddsfolder)
{ {
Unknown_14h = Xml.GetChildFloatAttribute(node, "Unknown14", "value"); SmallestAngInertia = Xml.GetChildFloatAttribute(node, "SmallestAngInertia", "value");
Unknown_18h = Xml.GetChildFloatAttribute(node, "Unknown18", "value"); LargestAngInertia = Xml.GetChildFloatAttribute(node, "LargestAngInertia", "value");
Unknown_1Ch = Xml.GetChildFloatAttribute(node, "Unknown1C", "value"); MinMoveForce = Xml.GetChildFloatAttribute(node, "MinMoveForce", "value");
PositionOffset = Xml.GetChildVector3Attributes(node, "PositionOffset"); PositionOffset = Xml.GetChildVector3Attributes(node, "PositionOffset");
Unknown_40h = Xml.GetChildVector3Attributes(node, "Unknown40"); OriginalRootCGOffset = Xml.GetChildVector3Attributes(node, "OriginalRootCGOffset");
Unknown_50h = Xml.GetChildVector3Attributes(node, "Unknown50"); UnbrokenCGOffset = Xml.GetChildVector3Attributes(node, "UnbrokenCGOffset");
DampingLinearC = Xml.GetChildVector3Attributes(node, "DampingLinearC"); DampingLinearC = Xml.GetChildVector3Attributes(node, "DampingLinearC");
DampingLinearV = Xml.GetChildVector3Attributes(node, "DampingLinearV"); DampingLinearV = Xml.GetChildVector3Attributes(node, "DampingLinearV");
DampingLinearV2 = Xml.GetChildVector3Attributes(node, "DampingLinearV2"); DampingLinearV2 = Xml.GetChildVector3Attributes(node, "DampingLinearV2");
@ -2933,26 +2933,26 @@ namespace CodeWalker.GameFiles
// structure data // structure data
public uint VFT { get; set; } public uint VFT { get; set; }
public uint Unknown_04h = 1; // 0x00000001 public uint DefaultStiffness = 1; // 0x00000001
public ulong Unknown_08h; // 0x0000000000000000 public ulong Unknown_08h; // 0x0000000000000000
public float Unknown_10h = 0.825f; // 0x3F533333 (0.825f) public float EnforceAccededLimits = 0.825f; // 0x3F533333 (0.825f)
public byte Unknown_14h; // 0x00 public byte Unknown_14h; // 0x00
public FragJointType Type { get; set; } public FragJointType Type { get; set; }
public byte FragIndex1 { get; set; } public byte ParentLinkIndex { get; set; }
public byte FragIndex2 { get; set; } public byte ChildLinkIndex { get; set; }
public ulong Unknown_18h; // 0x0000000000000000 public ulong Unknown_18h; // 0x0000000000000000
public override void Read(ResourceDataReader reader, params object[] parameters) public override void Read(ResourceDataReader reader, params object[] parameters)
{ {
// read structure data // read structure data
this.VFT = reader.ReadUInt32(); this.VFT = reader.ReadUInt32();
this.Unknown_04h = reader.ReadUInt32(); this.DefaultStiffness = reader.ReadUInt32();
this.Unknown_08h = reader.ReadUInt64(); this.Unknown_08h = reader.ReadUInt64();
this.Unknown_10h = reader.ReadSingle(); this.EnforceAccededLimits = reader.ReadSingle();
this.Unknown_14h = reader.ReadByte(); this.Unknown_14h = reader.ReadByte();
this.Type = (FragJointType)reader.ReadByte(); this.Type = (FragJointType)reader.ReadByte();
this.FragIndex1 = reader.ReadByte(); this.ParentLinkIndex = reader.ReadByte();
this.FragIndex2 = reader.ReadByte(); this.ChildLinkIndex = reader.ReadByte();
this.Unknown_18h = reader.ReadUInt64(); this.Unknown_18h = reader.ReadUInt64();
//if (Unknown_04h != 1) //if (Unknown_04h != 1)
@ -2973,26 +2973,28 @@ namespace CodeWalker.GameFiles
{ {
// write structure data // write structure data
writer.Write(this.VFT); writer.Write(this.VFT);
writer.Write(this.Unknown_04h); writer.Write(this.DefaultStiffness);
writer.Write(this.Unknown_08h); writer.Write(this.Unknown_08h);
writer.Write(this.Unknown_10h); writer.Write(this.EnforceAccededLimits);
writer.Write(this.Unknown_14h); writer.Write(this.Unknown_14h);
writer.Write((byte)this.Type); writer.Write((byte)this.Type);
writer.Write(this.FragIndex1); writer.Write(this.ParentLinkIndex);
writer.Write(this.FragIndex2); writer.Write(this.ChildLinkIndex);
writer.Write(this.Unknown_18h); writer.Write(this.Unknown_18h);
} }
public virtual void WriteXml(StringBuilder sb, int indent) public virtual void WriteXml(StringBuilder sb, int indent)
{ {
YftXml.ValueTag(sb, indent, "FragIndex1", FragIndex1.ToString()); YftXml.ValueTag(sb, indent, "ParentLinkIndex", ParentLinkIndex.ToString());
YftXml.ValueTag(sb, indent, "FragIndex2", FragIndex2.ToString()); YftXml.ValueTag(sb, indent, "ChildLinkIndex", ChildLinkIndex.ToString());
YftXml.ValueTag(sb, indent, "Unknown10", FloatUtil.ToString(Unknown_10h)); YftXml.ValueTag(sb, indent, "EnforceAccededLimits", FloatUtil.ToString(EnforceAccededLimits));
YftXml.ValueTag(sb, indent, "DefaultStiffness", DefaultStiffness.ToString());
} }
public virtual void ReadXml(XmlNode node) public virtual void ReadXml(XmlNode node)
{ {
FragIndex1 = (byte)Xml.GetChildUIntAttribute(node, "FragIndex1", "value"); ParentLinkIndex = (byte)Xml.GetChildUIntAttribute(node, "ParentLinkIndex", "value");
FragIndex2 = (byte)Xml.GetChildUIntAttribute(node, "FragIndex2", "value"); ChildLinkIndex = (byte)Xml.GetChildUIntAttribute(node, "ChildLinkIndex", "value");
Unknown_10h = Xml.GetChildFloatAttribute(node, "Unknown10", "value"); EnforceAccededLimits = Xml.GetChildFloatAttribute(node, "EnforceAccededLimits", "value");
DefaultStiffness = Xml.GetChildUIntAttribute(node, "DefaultStiffness", "value");
} }
public static FragPhysJointType Create(FragJointType type) public static FragPhysJointType Create(FragJointType type)
@ -3333,10 +3335,10 @@ namespace CodeWalker.GameFiles
public ulong Unknown_38h; // 0x0000000000000000 public ulong Unknown_38h; // 0x0000000000000000
public float Mass { get; set; } //in pounds, of course public float Mass { get; set; } //in pounds, of course
public float MassInv { get; set; } // 1.0 / Mass public float MassInv { get; set; } // 1.0 / Mass
public float Unknown_48h { get; set; } = 1.0f; // 1.0f public float GravityFactor { get; set; } = 1.0f; // 1.0f
public float Unknown_4Ch { get; set; } = 150.0f; // 150.0f public float MaxSpeed { get; set; } = 150.0f; // 150.0f
public float Unknown_50h { get; set; } = 6.2831855f; // 6.2831855f = 2*pi public float MaxAngSpeed { get; set; } = 6.2831855f; // 6.2831855f = 2*pi
public float Unknown_54h { get; set; } = 1.0f; // 1.0f public float BuoyancyFactor { get; set; } = 1.0f; // 1.0f
public ulong Unknown_58h; // 0x0000000000000000 public ulong Unknown_58h; // 0x0000000000000000
public Vector3 InertiaTensor { get; set; } public Vector3 InertiaTensor { get; set; }
public uint Unknown_6Ch = 0x7fc00001; // 0x7fc00001 public uint Unknown_6Ch = 0x7fc00001; // 0x7fc00001
@ -3381,10 +3383,10 @@ namespace CodeWalker.GameFiles
this.Unknown_38h = reader.ReadUInt64(); this.Unknown_38h = reader.ReadUInt64();
this.Mass = reader.ReadSingle(); this.Mass = reader.ReadSingle();
this.MassInv = reader.ReadSingle(); this.MassInv = reader.ReadSingle();
this.Unknown_48h = reader.ReadSingle(); this.GravityFactor = reader.ReadSingle();
this.Unknown_4Ch = reader.ReadSingle(); this.MaxSpeed = reader.ReadSingle();
this.Unknown_50h = reader.ReadSingle(); this.MaxAngSpeed = reader.ReadSingle();
this.Unknown_54h = reader.ReadSingle(); this.BuoyancyFactor = reader.ReadSingle();
this.Unknown_58h = reader.ReadUInt64(); this.Unknown_58h = reader.ReadUInt64();
this.InertiaTensor = reader.ReadVector3(); this.InertiaTensor = reader.ReadVector3();
this.Unknown_6Ch = reader.ReadUInt32(); this.Unknown_6Ch = reader.ReadUInt32();
@ -3513,10 +3515,10 @@ namespace CodeWalker.GameFiles
writer.Write(this.Unknown_38h); writer.Write(this.Unknown_38h);
writer.Write(this.Mass); writer.Write(this.Mass);
writer.Write(this.MassInv); writer.Write(this.MassInv);
writer.Write(this.Unknown_48h); writer.Write(this.GravityFactor);
writer.Write(this.Unknown_4Ch); writer.Write(this.MaxSpeed);
writer.Write(this.Unknown_50h); writer.Write(this.MaxAngSpeed);
writer.Write(this.Unknown_54h); writer.Write(this.BuoyancyFactor);
writer.Write(this.Unknown_58h); writer.Write(this.Unknown_58h);
writer.Write(this.InertiaTensor); writer.Write(this.InertiaTensor);
writer.Write(this.Unknown_6Ch); writer.Write(this.Unknown_6Ch);
@ -3540,10 +3542,10 @@ namespace CodeWalker.GameFiles
YftXml.StringTag(sb, indent, "Name", YftXml.XmlEscape(Name)); YftXml.StringTag(sb, indent, "Name", YftXml.XmlEscape(Name));
YftXml.ValueTag(sb, indent, "Mass", FloatUtil.ToString(Mass)); YftXml.ValueTag(sb, indent, "Mass", FloatUtil.ToString(Mass));
YftXml.ValueTag(sb, indent, "MassInv", FloatUtil.ToString(MassInv)); YftXml.ValueTag(sb, indent, "MassInv", FloatUtil.ToString(MassInv));
YftXml.ValueTag(sb, indent, "Unknown48", FloatUtil.ToString(Unknown_48h)); YftXml.ValueTag(sb, indent, "GravityFactor", FloatUtil.ToString(GravityFactor));
YftXml.ValueTag(sb, indent, "Unknown4C", FloatUtil.ToString(Unknown_4Ch)); YftXml.ValueTag(sb, indent, "MaxSpeed", FloatUtil.ToString(MaxSpeed));
YftXml.ValueTag(sb, indent, "Unknown50", FloatUtil.ToString(Unknown_50h)); YftXml.ValueTag(sb, indent, "MaxAngSpeed", FloatUtil.ToString(MaxAngSpeed));
YftXml.ValueTag(sb, indent, "Unknown54", FloatUtil.ToString(Unknown_54h)); YftXml.ValueTag(sb, indent, "BuoyancyFactor", FloatUtil.ToString(BuoyancyFactor));
YftXml.SelfClosingTag(sb, indent, "InertiaTensor " + FloatUtil.GetVector3XmlString(InertiaTensor)); YftXml.SelfClosingTag(sb, indent, "InertiaTensor " + FloatUtil.GetVector3XmlString(InertiaTensor));
YftXml.SelfClosingTag(sb, indent, "InertiaTensorInv " + FloatUtil.GetVector3XmlString(InertiaTensorInv)); YftXml.SelfClosingTag(sb, indent, "InertiaTensorInv " + FloatUtil.GetVector3XmlString(InertiaTensorInv));
if (Bound != null) if (Bound != null)
@ -3556,10 +3558,10 @@ namespace CodeWalker.GameFiles
Name = Xml.GetChildInnerText(node, "Name"); Name = Xml.GetChildInnerText(node, "Name");
Mass = Xml.GetChildFloatAttribute(node, "Mass", "value"); Mass = Xml.GetChildFloatAttribute(node, "Mass", "value");
MassInv = Xml.GetChildFloatAttribute(node, "MassInv", "value"); MassInv = Xml.GetChildFloatAttribute(node, "MassInv", "value");
Unknown_48h = Xml.GetChildFloatAttribute(node, "Unknown48", "value"); GravityFactor = Xml.GetChildFloatAttribute(node, "GravityFactor", "value");
Unknown_4Ch = Xml.GetChildFloatAttribute(node, "Unknown4C", "value"); MaxSpeed = Xml.GetChildFloatAttribute(node, "MaxSpeed", "value");
Unknown_50h = Xml.GetChildFloatAttribute(node, "Unknown50", "value"); MaxAngSpeed = Xml.GetChildFloatAttribute(node, "MaxAngSpeed", "value");
Unknown_54h = Xml.GetChildFloatAttribute(node, "Unknown54", "value"); BuoyancyFactor = Xml.GetChildFloatAttribute(node, "BuoyancyFactor", "value");
InertiaTensor = Xml.GetChildVector3Attributes(node, "InertiaTensor"); InertiaTensor = Xml.GetChildVector3Attributes(node, "InertiaTensor");
InertiaTensorInv = Xml.GetChildVector3Attributes(node, "InertiaTensorInv"); InertiaTensorInv = Xml.GetChildVector3Attributes(node, "InertiaTensorInv");
var bnode = node.SelectSingleNode("Bounds"); var bnode = node.SelectSingleNode("Bounds");
@ -3971,17 +3973,17 @@ namespace CodeWalker.GameFiles
public byte GlassFlags { get; set; }//flags: 1=?, 2=glass, 4=?, ... public byte GlassFlags { get; set; }//flags: 1=?, 2=glass, 4=?, ...
public float MinDamageForce { get; set; } public float MinDamageForce { get; set; }
public float DamageHealth { get; set; } public float DamageHealth { get; set; }
public float UnkFloat5C { get; set; } public float WeaponHealth { get; set; }
public float UnkFloat60 { get; set; } public float WeaponScale { get; set; }
public float UnkFloat64 { get; set; } public float VehicleScale { get; set; }
public float UnkFloat68 { get; set; } public float PedScale { get; set; }
public float UnkFloat6C { get; set; } public float RagdollScale { get; set; }
public float UnkFloat70 { get; set; } public float ExplosionScale { get; set; }
public float UnkFloat74 { get; set; } public float ObjectScale { get; set; }
public float UnkFloat78 { get; set; } public float PedInvMassScale { get; set; }
public float Unknown_7Ch; // 0x00000000 public float Unknown_7Ch; // 0x00000000
public FragPhysNameStruct_s Name { get; set; } public FragPhysNameStruct_s Name { get; set; }
public float UnkFloatA8 { get; set; } public float MeleeScale { get; set; }
public float Unknown_ACh; // 0x00000000 public float Unknown_ACh; // 0x00000000
public override void Read(ResourceDataReader reader, params object[] parameters) public override void Read(ResourceDataReader reader, params object[] parameters)
@ -4015,17 +4017,17 @@ namespace CodeWalker.GameFiles
this.GlassFlags = reader.ReadByte(); this.GlassFlags = reader.ReadByte();
this.MinDamageForce = reader.ReadSingle(); this.MinDamageForce = reader.ReadSingle();
this.DamageHealth = reader.ReadSingle(); this.DamageHealth = reader.ReadSingle();
this.UnkFloat5C = reader.ReadSingle(); this.WeaponHealth = reader.ReadSingle();
this.UnkFloat60 = reader.ReadSingle(); this.WeaponScale = reader.ReadSingle();
this.UnkFloat64 = reader.ReadSingle(); this.VehicleScale = reader.ReadSingle();
this.UnkFloat68 = reader.ReadSingle(); this.PedScale = reader.ReadSingle();
this.UnkFloat6C = reader.ReadSingle(); this.RagdollScale = reader.ReadSingle();
this.UnkFloat70 = reader.ReadSingle(); this.ExplosionScale = reader.ReadSingle();
this.UnkFloat74 = reader.ReadSingle(); this.ObjectScale = reader.ReadSingle();
this.UnkFloat78 = reader.ReadSingle(); this.PedInvMassScale = reader.ReadSingle();
this.Unknown_7Ch = reader.ReadSingle(); this.Unknown_7Ch = reader.ReadSingle();
this.Name = reader.ReadStruct<FragPhysNameStruct_s>(); this.Name = reader.ReadStruct<FragPhysNameStruct_s>();
this.UnkFloatA8 = reader.ReadSingle(); this.MeleeScale = reader.ReadSingle();
this.Unknown_ACh = reader.ReadSingle(); this.Unknown_ACh = reader.ReadSingle();
//if (Unknown_00h != 0) //if (Unknown_00h != 0)
@ -4138,17 +4140,17 @@ namespace CodeWalker.GameFiles
writer.Write(GlassFlags); writer.Write(GlassFlags);
writer.Write(MinDamageForce); writer.Write(MinDamageForce);
writer.Write(DamageHealth); writer.Write(DamageHealth);
writer.Write(UnkFloat5C); writer.Write(WeaponHealth);
writer.Write(UnkFloat60); writer.Write(WeaponScale);
writer.Write(UnkFloat64); writer.Write(VehicleScale);
writer.Write(UnkFloat68); writer.Write(PedScale);
writer.Write(UnkFloat6C); writer.Write(RagdollScale);
writer.Write(UnkFloat70); writer.Write(ExplosionScale);
writer.Write(UnkFloat74); writer.Write(ObjectScale);
writer.Write(UnkFloat78); writer.Write(PedInvMassScale);
writer.Write(Unknown_7Ch); writer.Write(Unknown_7Ch);
writer.WriteStruct(Name); writer.WriteStruct(Name);
writer.Write(UnkFloatA8); writer.Write(MeleeScale);
writer.Write(Unknown_ACh); writer.Write(Unknown_ACh);
} }
public void WriteXml(StringBuilder sb, int indent) public void WriteXml(StringBuilder sb, int indent)
@ -4173,15 +4175,15 @@ namespace CodeWalker.GameFiles
YftXml.ValueTag(sb, indent, "Mass", FloatUtil.ToString(Mass)); YftXml.ValueTag(sb, indent, "Mass", FloatUtil.ToString(Mass));
YftXml.ValueTag(sb, indent, "MinDamageForce", FloatUtil.ToString(MinDamageForce)); YftXml.ValueTag(sb, indent, "MinDamageForce", FloatUtil.ToString(MinDamageForce));
YftXml.ValueTag(sb, indent, "DamageHealth", FloatUtil.ToString(DamageHealth)); YftXml.ValueTag(sb, indent, "DamageHealth", FloatUtil.ToString(DamageHealth));
YftXml.ValueTag(sb, indent, "UnkFloat5C", FloatUtil.ToString(UnkFloat5C)); YftXml.ValueTag(sb, indent, "WeaponHealth", FloatUtil.ToString(WeaponHealth));
YftXml.ValueTag(sb, indent, "UnkFloat60", FloatUtil.ToString(UnkFloat60)); YftXml.ValueTag(sb, indent, "WeaponScale", FloatUtil.ToString(WeaponScale));
YftXml.ValueTag(sb, indent, "UnkFloat64", FloatUtil.ToString(UnkFloat64)); YftXml.ValueTag(sb, indent, "VehicleScale", FloatUtil.ToString(VehicleScale));
YftXml.ValueTag(sb, indent, "UnkFloat68", FloatUtil.ToString(UnkFloat68)); YftXml.ValueTag(sb, indent, "PedScale", FloatUtil.ToString(PedScale));
YftXml.ValueTag(sb, indent, "UnkFloat6C", FloatUtil.ToString(UnkFloat6C)); YftXml.ValueTag(sb, indent, "RagdollScale", FloatUtil.ToString(RagdollScale));
YftXml.ValueTag(sb, indent, "UnkFloat70", FloatUtil.ToString(UnkFloat70)); YftXml.ValueTag(sb, indent, "ExplosionScale", FloatUtil.ToString(ExplosionScale));
YftXml.ValueTag(sb, indent, "UnkFloat74", FloatUtil.ToString(UnkFloat74)); YftXml.ValueTag(sb, indent, "ObjectScale", FloatUtil.ToString(ObjectScale));
YftXml.ValueTag(sb, indent, "UnkFloat78", FloatUtil.ToString(UnkFloat78)); YftXml.ValueTag(sb, indent, "PedInvMassScale", FloatUtil.ToString(PedInvMassScale));
YftXml.ValueTag(sb, indent, "UnkFloatA8", FloatUtil.ToString(UnkFloatA8)); YftXml.ValueTag(sb, indent, "MeleeScale", FloatUtil.ToString(MeleeScale));
} }
public void ReadXml(XmlNode node) public void ReadXml(XmlNode node)
{ {
@ -4205,15 +4207,15 @@ namespace CodeWalker.GameFiles
Mass = Xml.GetChildFloatAttribute(node, "Mass", "value"); Mass = Xml.GetChildFloatAttribute(node, "Mass", "value");
MinDamageForce = Xml.GetChildFloatAttribute(node, "MinDamageForce", "value"); MinDamageForce = Xml.GetChildFloatAttribute(node, "MinDamageForce", "value");
DamageHealth = Xml.GetChildFloatAttribute(node, "DamageHealth", "value"); DamageHealth = Xml.GetChildFloatAttribute(node, "DamageHealth", "value");
UnkFloat5C = Xml.GetChildFloatAttribute(node, "UnkFloat5C", "value"); WeaponHealth = Xml.GetChildFloatAttribute(node, "WeaponHealth", "value");
UnkFloat60 = Xml.GetChildFloatAttribute(node, "UnkFloat60", "value"); WeaponScale = Xml.GetChildFloatAttribute(node, "WeaponScale", "value");
UnkFloat64 = Xml.GetChildFloatAttribute(node, "UnkFloat64", "value"); VehicleScale = Xml.GetChildFloatAttribute(node, "VehicleScale", "value");
UnkFloat68 = Xml.GetChildFloatAttribute(node, "UnkFloat68", "value"); PedScale = Xml.GetChildFloatAttribute(node, "PedScale", "value");
UnkFloat6C = Xml.GetChildFloatAttribute(node, "UnkFloat6C", "value"); RagdollScale = Xml.GetChildFloatAttribute(node, "RagdollScale", "value");
UnkFloat70 = Xml.GetChildFloatAttribute(node, "UnkFloat70", "value"); ExplosionScale = Xml.GetChildFloatAttribute(node, "ExplosionScale", "value");
UnkFloat74 = Xml.GetChildFloatAttribute(node, "UnkFloat74", "value"); ObjectScale = Xml.GetChildFloatAttribute(node, "ObjectScale", "value");
UnkFloat78 = Xml.GetChildFloatAttribute(node, "UnkFloat78", "value"); PedInvMassScale = Xml.GetChildFloatAttribute(node, "PedInvMassScale", "value");
UnkFloatA8 = Xml.GetChildFloatAttribute(node, "UnkFloatA8", "value"); MeleeScale = Xml.GetChildFloatAttribute(node, "MeleeScale", "value");
} }
public override string ToString() public override string ToString()