mirror of
https://github.com/luau/UniversalSynSaveInstance.git
synced 2026-02-03 22:23:03 +02:00
Updated Dumps
This commit is contained in:
@@ -1,9 +1,7 @@
|
||||
|
||||
EditableImage.Size {CanSave Only}
|
||||
EditableImage is NotCreatable but EditableImage.ImageData has a default value: __api_dump_failed_to_create_class__
|
||||
|
||||
EditableMesh.FixedSize {CanSave Only}
|
||||
EditableMesh is NotCreatable but EditableMesh.FixedSize has a default value: __api_dump_failed_to_create_class__
|
||||
|
||||
Instance.Parent {CanLoad Only}
|
||||
Instance.archivable {CanLoad Only} {Deprecated}
|
||||
@@ -112,7 +110,7 @@ DragDetector.SecondaryAxis {CanLoad Only}
|
||||
DragDetector.WorldAxis {CanLoad Only}
|
||||
DragDetector.WorldSecondaryAxis {CanLoad Only}
|
||||
|
||||
Collaborator is NotCreatable but Collaborator.CFrame has a default value: __api_dump_no_string_value__
|
||||
Collaborator is NotCreatable but Collaborator.CollaboratorColor has a default value: 0
|
||||
|
||||
CommandInstance.Checked {CanLoad Only}
|
||||
CommandInstance.DisplayName {CanLoad Only}
|
||||
@@ -169,14 +167,9 @@ DebugSettings.InstanceCount {CanSave Only}
|
||||
DebugSettings.JobCount {CanSave Only}
|
||||
DebugSettings.PlayerCount {CanSave Only}
|
||||
DebugSettings.RobloxVersion {CanSave Only}
|
||||
DebugSettings is NotCreatable but DebugSettings.DataModel has a default value: __api_dump_skipped_class__
|
||||
|
||||
DebuggerBreakpoint is NotCreatable but DebuggerBreakpoint.Condition has a default value: __api_dump_skipped_class__
|
||||
|
||||
DebuggerManager.DebuggingEnabled {CanSave Only}
|
||||
|
||||
DraggerService is NotCreatable but DraggerService.AlignDraggedObjects has a default value: __api_dump_skipped_class__
|
||||
|
||||
EditableService is NotCreatable but EditableService.EditableStatus has a default value: Unknown
|
||||
|
||||
ExperienceStateCaptureService is NotCreatable but ExperienceStateCaptureService.HiddenSelectionEnabled has a default value: false
|
||||
@@ -189,8 +182,6 @@ FaceAnimatorService is NotCreatable but FaceAnimatorService.AudioAnimationEnable
|
||||
Decal.Shiny {CanLoad Only} {Deprecated}
|
||||
Decal.Specular {CanLoad Only} {Deprecated}
|
||||
|
||||
FacialAnimationRecordingService is NotCreatable but FacialAnimationRecordingService.BiometricDataConsent has a default value: __api_dump_skipped_class__
|
||||
|
||||
FacialAnimationStreamingServiceV2 is NotCreatable but FacialAnimationStreamingServiceV2.ServiceState has a default value: 0
|
||||
|
||||
Fire.Heat {CanLoad Only}
|
||||
@@ -205,7 +196,6 @@ FunctionalTest.PhysicsEnvironmentalThrottle {CanLoad Only}
|
||||
FunctionalTest.Timeout {CanLoad Only}
|
||||
|
||||
GameSettings.VideoRecording {CanLoad Only}
|
||||
GameSettings is NotCreatable but GameSettings.VideoCaptureEnabled has a default value: __api_dump_skipped_class__
|
||||
|
||||
GamepadService is NotCreatable but GamepadService.GamepadCursorEnabled has a default value: false
|
||||
|
||||
@@ -309,11 +299,14 @@ Lighting is NotCreatable but Lighting.Ambient has a default value: 0.5, 0.5, 0.5
|
||||
|
||||
LiveScriptingService is NotCreatable but LiveScriptingService.ServerLiveEditingMode has a default value: Uninitialized
|
||||
|
||||
LiveSyncService.HasSyncedInstances {CanSave Only}
|
||||
LiveSyncService is NotCreatable but LiveSyncService.HasSyncedInstances has a default value: false
|
||||
|
||||
LocalizationService is NotCreatable but LocalizationService.ForcePlayModeGameLocaleId has a default value:
|
||||
|
||||
LocalizationTable.DevelopmentLanguage {CanLoad Only} {Deprecated}
|
||||
|
||||
LodDataEntity is NotCreatable but LodDataEntity.EntityData has a default value: __api_dump_no_string_value__
|
||||
LodDataEntity is NotCreatable but LodDataEntity.EntityLodEnabled has a default value: true
|
||||
|
||||
BaseScript.LinkedSource {Deprecated} {CanSave}
|
||||
|
||||
@@ -340,8 +333,6 @@ Mouse.ViewSizeY {CanSave Only}
|
||||
Mouse.X {CanSave Only}
|
||||
Mouse.Y {CanSave Only}
|
||||
|
||||
NetworkSettings is NotCreatable but NetworkSettings.EmulatedTotalMemoryInMB has a default value: __api_dump_skipped_class__
|
||||
|
||||
NotificationService.SelectedTheme {CanLoad Only}
|
||||
|
||||
BasePart.AssemblyAngularVelocity {CanLoad Only}
|
||||
@@ -419,8 +410,6 @@ Path.Status {CanSave Only}
|
||||
PathfindingService.EmptyCutoff {CanLoad Only} {Deprecated}
|
||||
PathfindingService is NotCreatable but PathfindingService.EmptyCutoff has a default value: 0
|
||||
|
||||
PhysicsSettings is NotCreatable but PhysicsSettings.AllowSleep has a default value: __api_dump_skipped_class__
|
||||
|
||||
Player.CharacterAppearance {Deprecated} {CanSave}
|
||||
Player.FollowUserId {CanSave Only}
|
||||
|
||||
@@ -440,7 +429,6 @@ PolicyService is NotCreatable but PolicyService.IsLuobuServer has a default valu
|
||||
Pose.MaskWeight {CanLoad Only} {Deprecated}
|
||||
|
||||
RenderSettings.EnableFRM {CanLoad Only}
|
||||
RenderSettings is NotCreatable but RenderSettings.AutoFRMLevel has a default value: __api_dump_skipped_class__
|
||||
|
||||
RobloxSerializableInstance is NotCreatable but RobloxSerializableInstance.Data has a default value:
|
||||
|
||||
@@ -497,16 +485,12 @@ Sparkles.Color {CanLoad Only}
|
||||
StarterPlayer is NotCreatable but StarterPlayer.AllowCustomAnimations has a default value: true
|
||||
|
||||
Studio.UI Theme {CanSave Only} {Deprecated} {CanSave}
|
||||
Studio is NotCreatable but Studio."TODO" Color has a default value: __api_dump_skipped_class__
|
||||
|
||||
StudioData is NotCreatable but StudioData.EnableScriptCollabByDefaultOnLoad has a default value: false
|
||||
|
||||
StudioDeviceEmulatorService is NotCreatable but StudioDeviceEmulatorService.HasMultiTouchStarted has a default value: __api_dump_skipped_class__
|
||||
|
||||
StudioPublishService is NotCreatable but StudioPublishService.PublishLocked has a default value: false
|
||||
|
||||
StudioService.UseLocalSpace {CanLoad Only}
|
||||
StudioService is NotCreatable but StudioService.ActiveScript has a default value: __api_dump_skipped_class__
|
||||
|
||||
StudioUserService.IsLoggedIn {CanSave Only}
|
||||
StudioUserService is NotCreatable but StudioUserService.IsLoggedIn has a default value: false
|
||||
@@ -516,13 +500,10 @@ StyleRule.Index {CanLoad Only}
|
||||
TaskScheduler.SchedulerDutyCycle {CanSave Only}
|
||||
TaskScheduler.SchedulerRate {CanSave Only}
|
||||
TaskScheduler.ThreadPoolSize {CanSave Only}
|
||||
TaskScheduler is NotCreatable but TaskScheduler.SchedulerDutyCycle has a default value: __api_dump_skipped_class__
|
||||
|
||||
Team.AutoColorCharacters {CanLoad Only} {Deprecated}
|
||||
Team.Score {CanLoad Only} {Deprecated}
|
||||
|
||||
TeamCreateData is NotCreatable but TeamCreateData.InitialCameraCFrame has a default value: __api_dump_no_string_value__
|
||||
|
||||
TeleportAsyncResult.PrivateServerId {CanSave Only}
|
||||
TeleportAsyncResult.ReservedServerAccessCode {CanSave Only}
|
||||
|
||||
@@ -544,9 +525,9 @@ ChatInputBarConfiguration is NotCreatable but ChatInputBarConfiguration.Absolute
|
||||
|
||||
ChatWindowConfiguration is NotCreatable but ChatWindowConfiguration.AbsolutePosition has a default value: 0, 0
|
||||
|
||||
TextChatMessage is NotCreatable but TextChatMessage.BubbleChatMessageProperties has a default value: __api_dump_no_string_value__
|
||||
TextChatMessage is NotCreatable but TextChatMessage.MessageId has a default value:
|
||||
|
||||
ChatWindowMessageProperties is NotCreatable but ChatWindowMessageProperties.FontFace has a default value: __api_dump_no_string_value__
|
||||
ChatWindowMessageProperties is NotCreatable but ChatWindowMessageProperties.TextColor3 has a default value: 1, 1, 1
|
||||
|
||||
TextChatService is NotCreatable but TextChatService.ChatTranslationEnabled has a default value: true
|
||||
|
||||
@@ -577,7 +558,6 @@ UserInputService.MouseDeltaSensitivity {CanLoad Only}
|
||||
UserInputService.MouseEnabled {CanSave Only}
|
||||
UserInputService.TouchEnabled {CanSave Only}
|
||||
UserInputService.VREnabled {CanSave Only}
|
||||
UserInputService is NotCreatable but UserInputService.AccelerometerEnabled has a default value: __api_dump_skipped_class__
|
||||
|
||||
VRService is NotCreatable but VRService.AutomaticScaling has a default value: World
|
||||
|
||||
|
||||
@@ -119,7 +119,10 @@ def fetch_api():
|
||||
if class_tags and class_tags.get("NotCreatable"):
|
||||
for property_name, property_info in class_info["Properties"].items():
|
||||
value = property_info.get("Default")
|
||||
if value != "__api_dump_class_not_creatable__":
|
||||
if (
|
||||
value != "__api_dump_class_not_creatable__"
|
||||
and "__api_dump_" not in value
|
||||
):
|
||||
s += f"{class_name} is NotCreatable but {class_name}.{property_name} has a default value: {value}\n"
|
||||
break
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ local function string_find(s, pattern)
|
||||
return string.find(s, pattern, nil, true)
|
||||
end
|
||||
|
||||
local function ArrayToDictionary(t, hydridMode, valueOverride, typeStrict)
|
||||
local function ArrayToDict(t, hydridMode, valueOverride, typeStrict)
|
||||
local tmp = {}
|
||||
|
||||
if hydridMode then
|
||||
@@ -15,7 +15,7 @@ local function ArrayToDictionary(t, hydridMode, valueOverride, typeStrict)
|
||||
if type(some1) == "number" then
|
||||
tmp[some2] = valueOverride or true
|
||||
elseif type(some2) == "table" then
|
||||
tmp[some1] = ArrayToDictionary(some2, hydridMode) -- Some1 is Class, Some2 is Name
|
||||
tmp[some1] = ArrayToDict(some2, hydridMode) -- Some1 is Class, Some2 is Name
|
||||
else
|
||||
tmp[some1] = some2
|
||||
end
|
||||
@@ -261,7 +261,7 @@ end
|
||||
|
||||
local CLIENT_VERSION = tonumber(string.split(version(), ".")[2])
|
||||
|
||||
local Type_IDs = {
|
||||
local attr_Type_IDs = {
|
||||
string = 0x02,
|
||||
boolean = 0x03,
|
||||
-- int32 = 0x04,
|
||||
@@ -765,12 +765,12 @@ XML_Descriptors = {
|
||||
end,
|
||||
Color3uint8 = function(raw)
|
||||
-- https://github.com/rojo-rbx/rbx-dom/blob/master/docs/xml.md#color3uint8
|
||||
-- ? It is recommended that Color3uint8 is encoded with text instead of elements.
|
||||
|
||||
return 0xFF000000
|
||||
+ (math.floor(raw.R * 255) * 0x10000)
|
||||
+ (math.floor(raw.G * 255) * 0x100)
|
||||
+ math.floor(raw.B * 255) -- ? It is recommended that Color3uint8 is encoded with text instead of elements.
|
||||
|
||||
+ math.floor(raw.B * 255)
|
||||
-- return bit32.bor(
|
||||
-- bit32.bor(bit32.bor(bit32.lshift(0xFF, 24), bit32.lshift(0xFF * raw.R, 16)), bit32.lshift(0xFF * raw.G, 8)),
|
||||
-- 0xFF * raw.B
|
||||
@@ -840,7 +840,7 @@ XML_Descriptors = {
|
||||
-- The value is the text content, formatted as a space-separated list of floating point numbers.
|
||||
local __EXTREME_RANGE = XML_Descriptors.__EXTREME_RANGE
|
||||
|
||||
return __EXTREME_RANGE(raw.Min) .. " " .. __EXTREME_RANGE(raw.Max) --[[.. " "]] -- ! This might be required to bypass detections as thats how its formatted usually; __EXTREME_RANGE is not needed here but it fixes the issue where "nan 10" value would reset to "0 0"
|
||||
return __EXTREME_RANGE(raw.Min) .. " " .. __EXTREME_RANGE(raw.Max) --[[.. " "]] -- ! This might be required for compatibility; __EXTREME_RANGE is not needed here but it fixes the issue where "nan 10" value would reset to "0 0"
|
||||
end,
|
||||
NumberSequence = nil,
|
||||
-- NumberSequence = Descriptors.__SEQUENCE,
|
||||
@@ -1061,10 +1061,10 @@ local ClassList
|
||||
|
||||
do
|
||||
local ClassPropertyExceptions = {
|
||||
Whitelist = { TriangleMeshPart = ArrayToDictionary({ "CollisionFidelity" }) },
|
||||
Whitelist = { TriangleMeshPart = ArrayToDict({ "CollisionFidelity" }) },
|
||||
Blacklist = {
|
||||
LuaSourceContainer = ArrayToDictionary({ "ScriptGuid" }),
|
||||
Instance = ArrayToDictionary({ "UniqueId", "HistoryId" }),
|
||||
LuaSourceContainer = ArrayToDict({ "ScriptGuid" }),
|
||||
Instance = ArrayToDict({ "UniqueId", "HistoryId" }),
|
||||
},
|
||||
}
|
||||
|
||||
@@ -1123,7 +1123,7 @@ do
|
||||
buffer.copy(b, offset, b_Name)
|
||||
offset += Name_size
|
||||
|
||||
buffer.writeu8(b, offset, Type_IDs[typeof(attrs[attr])])
|
||||
buffer.writeu8(b, offset, attr_Type_IDs[typeof(attrs[attr])])
|
||||
offset += 1
|
||||
|
||||
local bb = attrs_formatted[attr]
|
||||
@@ -1250,7 +1250,6 @@ do
|
||||
return instance:GetScale()
|
||||
end,
|
||||
WorldPivotData = "WorldPivot", -- TODO This doesn't accurately represent whether optional type property is present or not (it's never nil), gethiddenproperty or gethiddenproperty_fallback is preferred
|
||||
-- ModelMeshCFrame = "Pivot Offset", -- * Both are NotScriptable
|
||||
},
|
||||
PackageLink = { PackageIdSerialize = "PackageId", VersionIdSerialize = "VersionNumber" },
|
||||
Players = { MaxPlayersInternal = "MaxPlayers", PreferredPlayersInternal = "PreferredPlayers" }, -- ? Only needed for execs that lack LocalUserSecurity (Level 2, 5, 9), even so, it's a pretty useless information as it can be viewed elsewhere
|
||||
@@ -1416,7 +1415,7 @@ do
|
||||
local ClassName = API_Class.Name
|
||||
|
||||
if ClassTags then
|
||||
Class.Tags = ArrayToDictionary(ClassTags, nil, nil, "string") -- or {}
|
||||
Class.Tags = ArrayToDict(ClassTags, nil, nil, "string") -- or {}
|
||||
end
|
||||
|
||||
local NotScriptableFixClass = NotScriptableFixes[ClassName]
|
||||
@@ -1547,7 +1546,7 @@ local GLOBAL_ENV = getgenv and getgenv() or _G or shared
|
||||
|
||||
--- @interface CustomOptions table
|
||||
--- * Structure of the main CustomOptions table.
|
||||
--- * Note: Aliases take priority over parent option name.
|
||||
--- * Note: Options are case-insensitive, meaning you could type `NilInstances` option as `nilInStaNces` and it would still be valid.
|
||||
--- @within SynSaveInstance
|
||||
--- @field __DEBUG_MODE boolean -- Recommended to enable if you wish to help us improve our products and find bugs / issues with it! ___Default:___ false
|
||||
--- @field ReadMe boolean --___Default:___ true
|
||||
@@ -1687,7 +1686,7 @@ local function synsaveinstance(CustomOptions, CustomOptions2)
|
||||
IgnoreDefaultProperties = true,
|
||||
IgnoreNotArchivable = true,
|
||||
IgnorePropertiesOfNotScriptsOnScriptsMode = false,
|
||||
IgnoreSpecialProperties = ArrayToDictionary({ "Fluxus", "Delta", "Solara" })[EXECUTOR_NAME] or false, -- ! Please submit more Executors that crash on gethiddenproperty (with this disabled basically)
|
||||
IgnoreSpecialProperties = ArrayToDict({ "Fluxus", "Delta", "Solara" })[EXECUTOR_NAME] or false, -- ! Please submit more Executors that crash on gethiddenproperty (with this disabled basically)
|
||||
|
||||
IsolateLocalPlayer = false, -- #service.StarterGui:GetChildren() == 0
|
||||
IsolateLocalPlayerCharacter = false,
|
||||
@@ -1719,7 +1718,7 @@ local function synsaveinstance(CustomOptions, CustomOptions2)
|
||||
IgnoreSharedStrings = EXECUTOR_NAME ~= "Wave" and true,
|
||||
SharedStringOverwrite = false,
|
||||
TreatUnionsAsParts = EXECUTOR_NAME == "Solara", -- TODO Temporary true (once removed, remove Note from docs too)
|
||||
AlternativeWritefile = not ArrayToDictionary({ "WRD", "Xeno", "Zorara" })[EXECUTOR_NAME],
|
||||
AlternativeWritefile = not ArrayToDict({ "WRD", "Xeno", "Zorara" })[EXECUTOR_NAME],
|
||||
|
||||
OptionsAliases = { -- You can't really modify these as a user
|
||||
DecompileTimeout = "timeout",
|
||||
@@ -1870,10 +1869,10 @@ local function synsaveinstance(CustomOptions, CustomOptions2)
|
||||
local InstancesOverrides = {}
|
||||
|
||||
local DecompileIgnore, IgnoreList, IgnoreProperties, NotCreatableFixes =
|
||||
ArrayToDictionary(OPTIONS.DecompileIgnore, true),
|
||||
ArrayToDictionary(OPTIONS.IgnoreList, true),
|
||||
ArrayToDictionary(OPTIONS.IgnoreProperties),
|
||||
ArrayToDictionary(OPTIONS.NotCreatableFixes, true, "Folder")
|
||||
ArrayToDict(OPTIONS.DecompileIgnore, true),
|
||||
ArrayToDict(OPTIONS.IgnoreList, true),
|
||||
ArrayToDict(OPTIONS.IgnoreProperties),
|
||||
ArrayToDict(OPTIONS.NotCreatableFixes, true, "Folder")
|
||||
|
||||
local __DEBUG_MODE = OPTIONS.__DEBUG_MODE
|
||||
|
||||
@@ -1997,7 +1996,7 @@ local function synsaveinstance(CustomOptions, CustomOptions2)
|
||||
if not ToSaveInstance then
|
||||
local Children = TempRoot:GetChildren()
|
||||
if 0 < #Children then
|
||||
local tmp_dict = ArrayToDictionary(tmp)
|
||||
local tmp_dict = ArrayToDict(tmp)
|
||||
for _, child in Children do
|
||||
if not tmp_dict[child] then
|
||||
table.insert(tmp, child)
|
||||
@@ -2009,7 +2008,7 @@ local function synsaveinstance(CustomOptions, CustomOptions2)
|
||||
-- if IsolatePlayers then
|
||||
-- table.insert(_list_0, "Players")
|
||||
-- end
|
||||
local tmp_dict = ArrayToDictionary(tmp)
|
||||
local tmp_dict = ArrayToDict(tmp)
|
||||
|
||||
for _, serviceName in
|
||||
{
|
||||
@@ -2028,13 +2027,13 @@ local function synsaveinstance(CustomOptions, CustomOptions2)
|
||||
"StarterPlayer",
|
||||
"Teams",
|
||||
"SoundService",
|
||||
"TextChatService",
|
||||
"Chat",
|
||||
"TextChatService",
|
||||
|
||||
"LocalizationService", -- For LocalizationTables
|
||||
-- "InsertService",
|
||||
"JointsService",
|
||||
|
||||
"LocalizationService", -- For LocalizationTables
|
||||
-- "TestService",
|
||||
-- "VoiceChatService",
|
||||
}
|
||||
@@ -2159,7 +2158,7 @@ local function synsaveinstance(CustomOptions, CustomOptions2)
|
||||
|
||||
local function construct_TimeoutHandler(timeout, f, timeout_ret)
|
||||
return timeout < 0 and function(script)
|
||||
return pcall(f, script)
|
||||
return pcall(f, script)
|
||||
end or function(script) -- TODO Ideally use ... (vararg) instead of `script` in case this is reused for something other than `decompile` & `getscriptbytecode`
|
||||
local thread = coroutine.running()
|
||||
local timeoutThread, isCancelled
|
||||
@@ -2865,8 +2864,8 @@ local function synsaveinstance(CustomOptions, CustomOptions2)
|
||||
local header =
|
||||
'<!-- Saved by UniversalSynSaveInstance (Join to Copy Games) https://discord.gg/wx4ThpAsmw --><roblox version="4">'
|
||||
|
||||
if IsModel then
|
||||
--[[
|
||||
if IsModel then
|
||||
--[[
|
||||
-- ? Roblox encodes the following additional attributes. These are not required. Moreover, any defined schemas are ignored, and not required for a file to be valid: xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.roblox.com/roblox.xsd"
|
||||
Also http can be converted to https but not sure if Roblox cares
|
||||
-- ? <External>null</External><External>nil</External> - <External> is a legacy concept that is no longer used.
|
||||
@@ -2992,7 +2991,7 @@ local function synsaveinstance(CustomOptions, CustomOptions2)
|
||||
Or Destroy the Camera.
|
||||
|
||||
This file was generated with the following settings:
|
||||
]]
|
||||
]]
|
||||
.. service.HttpService:JSONEncode(OPTIONS)
|
||||
.. "\n\n\t\tElapsed time: "
|
||||
.. os.clock() - elapse_t
|
||||
@@ -3000,6 +2999,8 @@ local function synsaveinstance(CustomOptions, CustomOptions2)
|
||||
.. game.PlaceId
|
||||
.. " PlaceVersion: "
|
||||
.. game.PlaceVersion
|
||||
.. " Client Version: "
|
||||
.. version()
|
||||
.. " Executor: "
|
||||
.. (identify_executor and table.concat({ identify_executor() }, " ") or "Unknown")
|
||||
.. "\n]]"
|
||||
|
||||
Reference in New Issue
Block a user