luau / UniversalSynSaveInstance

Shortly USSI. A universal saveinstance revival. This can also be edited and used as a Roblox-Format-File writer.
https://luau.github.io/UniversalSynSaveInstance/
GNU Affero General Public License v3.0
67 stars 32 forks source link

Huge Mesh!! #1

Closed loboazul666 closed 5 months ago

loboazul666 commented 9 months ago

Pretty good script but it has an issue when you try to save games that has meshes image (8)

ActualMasterOogway commented 5 months ago

definetly needs to be fixed ASAP, experienced the same issue, im using Hydrogen MacOS

gamersindo1223 commented 5 months ago

Btw what exec r u guys using,

phoriah commented 5 months ago

Sorry for late reply, will be looked into!

phoriah commented 5 months ago

@loboazul666 @ActualMasterOogway Can you send game link(s)?

ActualMasterOogway commented 5 months ago

@loboazul666 @ActualMasterOogway Can you send game link(s)?

https://www.roblox.com/games/6516141723/DOORS

phoriah commented 5 months ago

Should be fixed in https://github.com/luau/UniversalSynSaveInstance/commit/4559e2340ae28c27057220b5943709e99e66a51f Needs to be tested & confirmed though. @loboazul666 @ActualMasterOogway

rekitrelt commented 5 months ago

for i, v in game:GetDescendants() do local succe, _ = pcall(function() local test = v.WorldCFrame end) if succe and v.Parent and v.Parent:FindFirstChildOfClass("AccessoryWeld") then v.WorldCFrame = v.CFrame elseif succe then v.WorldCFrame = v.CFrame end end wait(1) for i, v in game:GetDescendants() do if v.ClassName == "Weld" then v.C0 = v.C1 end end in studio command bar fixes meshes completely for me

Eetblgb25 commented 5 months ago

meshes still broken

ActualMasterOogway commented 5 months ago

Should be fixed in 4559e23 Needs to be tested & confirmed though. @loboazul666 @ActualMasterOogway

Works now, but i have an issue with the beams not being at the position they are supposed to, also i think the size of that beam is smaller

phoriah commented 5 months ago

meshes still broken

Which executor are you using?

phoriah commented 5 months ago

Should be fixed in 4559e23 Needs to be tested & confirmed though. @loboazul666 @ActualMasterOogway

Works now, but i have an issue with the beams not being at the position they are supposed to, also i think the size of that beam is smaller

Can you create a separate issue with more details, please?

Eetblgb25 commented 5 months ago

meshes still broken

Which executor are you using?

hydrogen

phoriah commented 5 months ago

meshes still broken

Which executor are you using?

hydrogen

Android or mac?

phoriah commented 5 months ago

Happens due to InitialSize not being saved properly btw. Depends pretty much on the executor (whether it can read this hidden/special property or not) Here is a script for testing whether Terrain/Meshes/Unions will work on your executor (Open F9 Console after executing)

local Sep = string.rep("-", 10)
warn(Sep .. "START" .. Sep)
local Terrain = workspace.Terrain
local MeshPart = game:FindFirstChildWhichIsA("MeshPart", true)
local UnionOperation = game:FindFirstChildWhichIsA("UnionOperation", true)

local Params = {
    RepoURL = "https://raw.githubusercontent.com/luau/SomeHub/main/",
    UMF = "UniversalMethodFinder",
    ROM = "RequireOnlineModule",
}
local finder, globalcontainer = loadstring(game:HttpGet(Params.RepoURL .. Params.UMF .. ".luau", true), Params.UMF)()

finder({
    readbinarystring = 'string.find(...,"binary",nil,true)', -- ! Could match some unwanted stuff (readbinarystringpropertyvalue/readbspval/getbspval)

    gethiddenproperty = 'string.find(...,"get",nil,true) and string.find(...,"h",nil,true) and string.find(...,"prop",nil,true) and string.sub(...,#...) ~= "s"',
    gethiddenproperties = 'string.find(...,"get",nil,true) and string.find(...,"h",nil,true) and string.find(...,"prop",nil,true) and string.sub(...,#...) == "s"',

    getproperties = 'string.find(...,"get",nil,true) and string.find(...,"prop",nil,true) and string.sub(...,#...) == "s" and not string.find(...,"h",nil,true)',
    getspecialinfo = 'string.find(...,"get",nil,true) and string.find(...,"spec",nil,true)',
}, true, nil, true)

local InstancePropsTest = { [Terrain] = "PhysicsGrid", [MeshPart] = "InitialSize", [UnionOperation] = "AssetId" }

for methodname, method in globalcontainer do
    for instance, propname in InstancePropsTest do
        warn(methodname, instance.ClassName, propname, pcall(method, instance, propname))
    end
end
phoriah commented 5 months ago

Feel free to continue the discussion.

phoriah commented 5 months ago

Should be fixed in 4559e23 Needs to be tested & confirmed though. @loboazul666 @ActualMasterOogway

Works now, but i have an issue with the beams not being at the position they are supposed to, also i think the size of that beam is smaller

Beams (attachments) should be fixed now, lmk if you're still having issues.