diff --git a/BinaryFormat/Chunks/PROP.cs b/BinaryFormat/Chunks/PROP.cs index 0a41f0e..b660597 100644 --- a/BinaryFormat/Chunks/PROP.cs +++ b/BinaryFormat/Chunks/PROP.cs @@ -6,7 +6,6 @@ using System.Text; using RobloxFiles.Enums; using RobloxFiles.DataTypes; using RobloxFiles.Utility; -using System.Diagnostics; using System.IO; namespace RobloxFiles.BinaryFormat.Chunks @@ -51,6 +50,12 @@ namespace RobloxFiles.BinaryFormat.Chunks return; } + if (Class == null) + { + RobloxFile.LogError($"Unknown class index {ClassIndex} (@ {this})!"); + return; + } + var ids = Class.InstanceIds; int instCount = Class.NumInstances; var props = new Property[instCount]; diff --git a/Generated/Classes.cs b/Generated/Classes.cs index 854419b..798e36b 100644 --- a/Generated/Classes.cs +++ b/Generated/Classes.cs @@ -137,6 +137,14 @@ namespace RobloxFiles } } + public class AvatarImportService : Instance + { + public AvatarImportService() + { + IsService = true; + } + } + public class Backpack : Instance { } @@ -2953,6 +2961,12 @@ namespace RobloxFiles } } + public class ScriptDebugger : Instance + { + public string CoreScriptIdentifier = ""; + public string ScriptGuid = ""; + } + public class ScriptService : Instance { public ScriptService() diff --git a/Plugins/GenerateApiDump.rbxm b/Plugins/GenerateApiDump.rbxm index fc45553..91c9d42 100644 Binary files a/Plugins/GenerateApiDump.rbxm and b/Plugins/GenerateApiDump.rbxm differ diff --git a/Plugins/GenerateApiDump/PropertyPatches.lua b/Plugins/GenerateApiDump/PropertyPatches.lua index a82f466..0e45a51 100644 --- a/Plugins/GenerateApiDump/PropertyPatches.lua +++ b/Plugins/GenerateApiDump/PropertyPatches.lua @@ -491,6 +491,15 @@ return } }; + ScriptDebugger = + { + Add = + { + CoreScriptIdentifier = "string"; + ScriptGuid = "string"; + } + }; + Smoke = { Add = diff --git a/Plugins/GenerateApiDump/init.server.lua b/Plugins/GenerateApiDump/init.server.lua index 9d1008f..0af7a69 100644 --- a/Plugins/GenerateApiDump/init.server.lua +++ b/Plugins/GenerateApiDump/init.server.lua @@ -16,6 +16,12 @@ local singletons = StarterCharacterScripts = StarterPlayer:WaitForChild("StarterCharacterScripts"); } +local exceptionClasses = +{ + PackageLink = true; + ScriptDebugger = true; +} + local numberTypes = { int = true; @@ -403,7 +409,7 @@ local function generateClasses() end end - if class.Name == "PackageLink" then + if exceptionClasses[class.Name] then registerClass = true end diff --git a/RobloxFileFormat.dll b/RobloxFileFormat.dll index 8fdb965..23e0f9a 100644 Binary files a/RobloxFileFormat.dll and b/RobloxFileFormat.dll differ