Bug fixes and tuning

This commit is contained in:
CloneTrooper1019 2020-07-05 19:04:20 -05:00
parent 540958f7f8
commit 7359b6efb7
10 changed files with 60 additions and 143 deletions

View File

@ -570,13 +570,6 @@ namespace RobloxFiles
public class BallSocketConstraint : Constraint public class BallSocketConstraint : Constraint
{ {
public bool LimitsEnabled = false; public bool LimitsEnabled = false;
public float MaxFrictionTorque
{
get { return MaxFrictionTorqueXml; }
set { MaxFrictionTorqueXml = value; }
}
public float MaxFrictionTorqueXml = 0; public float MaxFrictionTorqueXml = 0;
public float Radius = 0.15f; public float Radius = 0.15f;
public float Restitution = 0; public float Restitution = 0;
@ -2180,6 +2173,7 @@ namespace RobloxFiles
public abstract class TriangleMeshPart : BasePart public abstract class TriangleMeshPart : BasePart
{ {
public CollisionFidelity CollisionFidelity = CollisionFidelity.Default;
public Vector3 InitialSize = new Vector3(1, 1, 1); public Vector3 InitialSize = new Vector3(1, 1, 1);
public byte[] LODData = new byte[0]; public byte[] LODData = new byte[0];
public SharedString PhysicalConfigData = SharedString.FromBase64("1B2M2Y8AsgTpgAmY7PhCfg=="); public SharedString PhysicalConfigData = SharedString.FromBase64("1B2M2Y8AsgTpgAmY7PhCfg==");

Binary file not shown.

View File

@ -35,29 +35,10 @@ local GuiTextMixIn =
return return
{ {
AnalyticsService =
{
Defaults = { ApiKey = "" }
};
BallSocketConstraint = BallSocketConstraint =
{ {
-- Why does this even exist? -- Why does this even exist?
Add = Add = { MaxFrictionTorqueXml = "float" };
{
MaxFrictionTorque = "float";
MaxFrictionTorqueXml = "float";
};
Defaults =
{
MaxFrictionTorqueXml = 0;
};
Redirect =
{
MaxFrictionTorque = "MaxFrictionTorqueXml";
}
}; };
BasePart = BasePart =
@ -81,12 +62,6 @@ return
Color3uint8 = Color3.fromRGB(163, 162, 165); Color3uint8 = Color3.fromRGB(163, 162, 165);
size = Vector3.new(4, 1.2, 2); size = Vector3.new(4, 1.2, 2);
}; };
Remove =
{
"Orientation";
"Rotation";
}
}; };
BaseScript = BaseScript =
@ -101,27 +76,12 @@ return
Bevel = "float"; Bevel = "float";
Bevel_Roundness = "float"; Bevel_Roundness = "float";
Bulge = "float"; Bulge = "float";
};
Defaults =
{
Bevel = 0;
Bevel_Roundness = 0;
Bulge = 0;
} }
}; };
BinaryStringValue = BinaryStringValue =
{ {
Add = Add = { Value = "BinaryString" };
{
Value = "BinaryString";
};
Defaults =
{
Value = "";
};
}; };
BodyColors = BodyColors =
@ -147,11 +107,6 @@ return
Redirect = { cframe = "CFrame" }; Redirect = { cframe = "CFrame" };
}; };
Bone =
{
Remove = {"Transform"}
};
Camera = Camera =
{ {
Redirect = { CoordinateFrame = "CFrame" } Redirect = { CoordinateFrame = "CFrame" }
@ -159,8 +114,7 @@ return
CustomEvent = CustomEvent =
{ {
Add = { PersistedCurrentValue = "float"; }; Add = { PersistedCurrentValue = "float" };
Defaults = { PersistedCurrentValue = 0; };
}; };
DataModelMesh = DataModelMesh =
@ -187,15 +141,9 @@ return
} }
}; };
DebuggerWatch =
{
Defaults = { Expression = "" };
};
DoubleConstrainedValue = DoubleConstrainedValue =
{ {
Add = { value = "double" }; Add = { value = "double" };
Defaults = { value = 0.0 };
Redirect = Redirect =
{ {
@ -311,12 +259,6 @@ return
EmotesDataInternal = "string"; EmotesDataInternal = "string";
EquippedEmotesDataInternal = "string"; EquippedEmotesDataInternal = "string";
}; };
Defaults =
{
EmotesDataInternal = "";
EquippedEmotesDataInternal = "";
};
}; };
InsertService = InsertService =
@ -328,7 +270,6 @@ return
IntConstrainedValue = IntConstrainedValue =
{ {
Add = { value = "int64" }; Add = { value = "int64" };
Defaults = { value = 0; };
Redirect = Redirect =
{ {
@ -384,13 +325,6 @@ return
ScriptGuid = "string"; ScriptGuid = "string";
Source = "ProtectedString"; Source = "ProtectedString";
}; };
Defaults =
{
LinkedSource = "";
ScriptGuid = "";
Source = "";
};
}; };
ManualSurfaceJointInstance = ManualSurfaceJointInstance =
@ -415,8 +349,7 @@ return
Model = Model =
{ {
Add = { ModelInPrimary = "CFrame" }; Add = { ModelInPrimary = "CFrame" };
Defaults = { ModelInPrimary = CFrame.new() };
}; };
ModuleScript = ModuleScript =
@ -436,13 +369,7 @@ return
PackageIdSerialize = "Content"; PackageIdSerialize = "Content";
}; };
Defaults = Defaults = { AutoUpdate = false };
{
AutoUpdate = false;
VersionIdSerialize = 0;
PackageIdSerialize = "";
};
}; };
Part = Part =
@ -473,13 +400,7 @@ return
FormFactor = "Enum:FormFactor"; FormFactor = "Enum:FormFactor";
}; };
Defaults = Defaults = { FormFactor = Enum.FormFactor.Custom };
{
AssetId = "";
ChildData = "";
MeshData = "";
FormFactor = Enum.FormFactor.Custom;
};
}; };
PartOperationAsset = PartOperationAsset =
@ -489,21 +410,11 @@ return
ChildData = "BinaryString"; ChildData = "BinaryString";
MeshData = "BinaryString"; MeshData = "BinaryString";
}; };
Defaults =
{
ChildData = "";
MeshData = "";
};
}; };
Players = Players =
{ {
Defaults = Defaults = { MaxPlayersInternal = 16 }
{
MaxPlayersInternal = 16;
PreferredPlayersInternal = 0;
}
}; };
SelectionBox = SelectionBox =
@ -585,24 +496,29 @@ return
Redirect = { Color = "SparkleColor" }; Redirect = { Color = "SparkleColor" };
}; };
StarterPlayer =
{
Defaults =
{
GameSettingsAvatar = Enum.GameAvatarType.R15;
GameSettingsR15Collision = Enum.R15CollisionType.OuterBox;
GameSettingsScaleRangeHead = NumberRange.new(0.95, 1.00);
GameSettingsScaleRangeWidth = NumberRange.new(0.70, 1.00);
GameSettingsScaleRangeHeight = NumberRange.new(0.90, 1.05);
GameSettingsScaleRangeBodyType = NumberRange.new(0.00, 1.00);
GameSettingsScaleRangeProportion = NumberRange.new(0.00, 1.00);
};
};
StudioData = StudioData =
{ {
Add = Add =
{ {
CommitInflightAuthorId = "int64";
CommitInflightGuid = "string"; CommitInflightGuid = "string";
CommitInflightAuthorId = "int64";
CommitInflightPlaceVersion = "int"; CommitInflightPlaceVersion = "int";
}; };
Defaults =
{
CommitInflightAuthorId = 0;
CommitInflightGuid = "";
CommitInflightPlaceVersion = 0;
SrcPlaceId = 0;
SrcUniverseId = 0;
};
}; };
SurfaceAppearance = SurfaceAppearance =
@ -628,10 +544,6 @@ return
Defaults = Defaults =
{ {
ClusterGrid = "";
ClusterGridV2 = "";
ClusterGridV3 = "";
Decoration = false; Decoration = false;
SmoothGrid = "AQU="; SmoothGrid = "AQU=";
@ -669,14 +581,14 @@ return
LODData = "BinaryString"; LODData = "BinaryString";
PhysicsData = "BinaryString"; PhysicsData = "BinaryString";
PhysicalConfigData = "SharedString"; PhysicalConfigData = "SharedString";
CollisionFidelity = "Enum:CollisionFidelity";
}; };
Defaults = Defaults =
{ {
LODData = "";
PhysicsData = "";
InitialSize = Vector3.new(1, 1, 1); InitialSize = Vector3.new(1, 1, 1);
PhysicalConfigData = "1B2M2Y8AsgTpgAmY7PhCfg=="; PhysicalConfigData = "1B2M2Y8AsgTpgAmY7PhCfg==";
CollisionFidelity = Enum.CollisionFidelity.Default;
}; };
}; };

View File

@ -18,6 +18,7 @@ local numberTypes =
{ {
int = true; int = true;
long = true; long = true;
int64 = true;
float = true; float = true;
double = true; double = true;
} }
@ -26,6 +27,7 @@ local stringTypes =
{ {
string = true; string = true;
Content = true; Content = true;
BinaryString = true;
ProtectedString = true; ProtectedString = true;
} }
@ -406,11 +408,15 @@ local function generateClasses()
end end
for propName, propType in pairs(classPatches.Add) do for propName, propType in pairs(classPatches.Add) do
if not propMap[propName] then local prop = propMap[propName]
if prop then
local serial = prop.Serialization
serial.CanSave = true
serial.CanLoad = true
else
propMap[propName] = createProperty(propName, propType) propMap[propName] = createProperty(propName, propType)
table.insert(propNames, propName) table.insert(propNames, propName)
else
propMap[propName].Serialization.CanLoad = true
end end
end end

View File

@ -6,11 +6,11 @@
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{CF50C0E2-23A7-4DC1-B4B2-E60CDE716253}</ProjectGuid> <ProjectGuid>{CF50C0E2-23A7-4DC1-B4B2-E60CDE716253}</ProjectGuid>
<OutputType>Exe</OutputType> <OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder> <AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>RobloxFiles</RootNamespace> <RootNamespace>RobloxFiles</RootNamespace>
<AssemblyName>RobloxFileFormat</AssemblyName> <AssemblyName>RobloxFileFormat</AssemblyName>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion> <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment> <FileAlignment>512</FileAlignment>
<PublishUrl>publish\</PublishUrl> <PublishUrl>publish\</PublishUrl>
<Install>true</Install> <Install>true</Install>
@ -29,6 +29,7 @@
<BootstrapperEnabled>true</BootstrapperEnabled> <BootstrapperEnabled>true</BootstrapperEnabled>
<NuGetPackageImportStamp> <NuGetPackageImportStamp>
</NuGetPackageImportStamp> </NuGetPackageImportStamp>
<TargetFrameworkProfile />
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols> <DebugSymbols>true</DebugSymbols>

Binary file not shown.

View File

@ -42,7 +42,7 @@ namespace RobloxFiles.Utility
/// There are some name duplicates, but that's an issue on Roblox's end. /// There are some name duplicates, but that's an issue on Roblox's end.
/// </summary> /// </summary>
public static IReadOnlyList<BrickColor> ColorMap = new List<BrickColor>() public static readonly IReadOnlyList<BrickColor> ColorMap = new List<BrickColor>()
{ {
new BrickColor( 1, 0xF2F3F3, "White"), new BrickColor( 1, 0xF2F3F3, "White"),
new BrickColor( 2, 0xA1A5A2, "Grey"), new BrickColor( 2, 0xA1A5A2, "Grey"),

View File

@ -1,8 +1,5 @@
using System; using System.Collections.Generic;
using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text;
using System.Threading.Tasks;
using RobloxFiles.Enums; using RobloxFiles.Enums;
@ -10,7 +7,7 @@ namespace RobloxFiles.Utility
{ {
public static class FontUtility public static class FontUtility
{ {
public static IReadOnlyDictionary<int, FontSize> FontSizes = new Dictionary<int, FontSize>() public static readonly IReadOnlyDictionary<int, FontSize> FontSizes = new Dictionary<int, FontSize>()
{ {
{ 8, FontSize.Size8 }, { 8, FontSize.Size8 },
{ 9, FontSize.Size9 }, { 9, FontSize.Size9 },
@ -29,8 +26,6 @@ namespace RobloxFiles.Utility
{ 96, FontSize.Size96 }, { 96, FontSize.Size96 },
}; };
private static Dictionary<int, FontSize> IntToFontSize = new Dictionary<int, FontSize>();
public static FontSize GetFontSize(int fontSize) public static FontSize GetFontSize(int fontSize)
{ {
if (fontSize > 60) if (fontSize > 60)

View File

@ -1,4 +1,5 @@
using System; using System;
using System.Linq;
using System.Reflection; using System.Reflection;
namespace RobloxFiles.Utility namespace RobloxFiles.Utility
@ -14,12 +15,20 @@ namespace RobloxFiles.Utility
public static ImplicitMember Get(Type type, string name) public static ImplicitMember Get(Type type, string name)
{ {
var field = type.GetField(name, flags); var field = type
var prop = type.GetProperty(name, flags); .GetFields(flags)
.Where(f => f.Name == name)
.FirstOrDefault();
if (field != null) if (field != null)
return new ImplicitMember(field); return new ImplicitMember(field);
else if (prop != null)
var prop = type
.GetProperties(flags)
.Where(p => p.Name == name)
.FirstOrDefault();
if (prop != null)
return new ImplicitMember(prop); return new ImplicitMember(prop);
return null; return null;

View File

@ -12,7 +12,7 @@ namespace RobloxFiles.Utility
/// <summary> /// <summary>
/// A dictionary mapping materials to their default Density. /// A dictionary mapping materials to their default Density.
/// </summary> /// </summary>
public static IReadOnlyDictionary<Material, float> DensityMap = new Dictionary<Material, float>() public static readonly IReadOnlyDictionary<Material, float> DensityMap = new Dictionary<Material, float>()
{ {
{Material.Air, 0.01f}, {Material.Air, 0.01f},
{Material.Asphalt, 2.36f}, {Material.Asphalt, 2.36f},
@ -56,7 +56,7 @@ namespace RobloxFiles.Utility
/// <summary> /// <summary>
/// A dictionary mapping materials to their default Elasticity. /// A dictionary mapping materials to their default Elasticity.
/// </summary> /// </summary>
public static IReadOnlyDictionary<Material, float> ElasticityMap = new Dictionary<Material, float>() public static readonly IReadOnlyDictionary<Material, float> ElasticityMap = new Dictionary<Material, float>()
{ {
{Material.Air, 0.01f}, {Material.Air, 0.01f},
{Material.Asphalt, 0.20f}, {Material.Asphalt, 0.20f},
@ -100,7 +100,7 @@ namespace RobloxFiles.Utility
/// <summary> /// <summary>
/// A dictionary mapping materials to their default Friction. /// A dictionary mapping materials to their default Friction.
/// </summary> /// </summary>
public static IReadOnlyDictionary<Material, float> FrictionMap = new Dictionary<Material, float>() public static readonly IReadOnlyDictionary<Material, float> FrictionMap = new Dictionary<Material, float>()
{ {
{Material.Air, 0.01f}, {Material.Air, 0.01f},
{Material.Asphalt, 0.80f}, {Material.Asphalt, 0.80f},
@ -146,7 +146,7 @@ namespace RobloxFiles.Utility
/// NOTE: This only maps materials that have different FrictionWeights.<para/> /// NOTE: This only maps materials that have different FrictionWeights.<para/>
/// If it isn't in here, assume their FrictionWeight is 1. /// If it isn't in here, assume their FrictionWeight is 1.
/// </summary> /// </summary>
public static IReadOnlyDictionary<Material, float> FrictionWeightMap = new Dictionary<Material, float>() public static readonly IReadOnlyDictionary<Material, float> FrictionWeightMap = new Dictionary<Material, float>()
{ {
{Material.Asphalt, 0.30f}, {Material.Asphalt, 0.30f},
{Material.Basalt, 0.30f}, {Material.Basalt, 0.30f},