Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clone .rbxmx files #2

Open
MemoryPenguin opened this issue Dec 5, 2016 · 2 comments
Open

Clone .rbxmx files #2

MemoryPenguin opened this issue Dec 5, 2016 · 2 comments
Milestone

Comments

@MemoryPenguin
Copy link
Owner

Clone .rbxmx files in the same way as .lua and .rbxs.

Would have to parse .rbxmx files, then convert them to an instance tree.

@MemoryPenguin
Copy link
Owner Author

Notes:

  • This is totally possible
  • Need bitwise operators
    • Color3s are stored as packed ints; need to be able to shift bits in order to get the individual components
  • ColorSequences are in the form time r g b unknown listing out all keypoints
  • NumberRanges are in the form min max
  • Content references have an inner <url> tag that stores the actual string
  • NumberSequences are stored in the form time value envelope
  • Enums are stored in token tags with their number value

@MemoryPenguin MemoryPenguin added this to the v1.2 milestone Dec 6, 2016
@MemoryPenguin
Copy link
Owner Author

Update on this: I sat down and put some stuff together; I have a deserializer working for most Roblox types.

There are two exceptions:

  • CSG objects
  • TerrainRegions

Neither of these can be deserialized easily in Lua. It is theoretically possible to deserialize these objects but it would necessitate reverse-engineering the binary blobs that their data is stored in, then creating the objects from scratch using the data. This is a little too cumbersome for a published solution, though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant