Converting Rbxl to Rbxlx?

Hello developers, this is a more complicated question outside of Lua, just your warning now.

I have reached an issue in developing a tool in C++ and am looking for a last-ditch effort possible solution. I am trying to convert rbxl (binary) files to rbxlx (xml) files. However, I can’t seem to find much on it, and what I have found is all in rust and difficult for me to understand.

A pseudocode answer would also be great, I am trying to read some code from the Rojo github but still struggling to find a solution.

Thanks in advance, anything helps.

1 Like

Thats a downloading option
just open your file, click Save as… and change the file extention to rbxlx

I need to do this with a program, this isn’t an option for me

I would personally not use C++ as it is not memory safe and prone to vulnerabilities. Consider switching to Rust(:rocket:) - a blazing fast, safe, compiled language similar to C/C++. After you’ve converted your entire codebase to Rust(:rocket:), I would recommend that you try out the rbx_dom library (used by Rojo) to parse your RBXL file and then serialize it back to RBXLX. Happy programming, fellow Rust(:rocket:)acean!

3 Likes

I see, learning Rust from scratch may take a while until I can reach the skill to do this, do you think there is any way in C++ or should I really switch? If so any good courses?

There are currently no known open source Roblox binary model format parsers for C++. This should even further incentivize you to use Rust(:rocket:). This guide can help you to migrate to Rust(:rocket:) today with minimal struggle.

I am willing to write a smaller scale version, I just need to understand the process

C++ rules them all. But not from a Roblox point-of-view. It’s a language that I will encourage anyone to learn. It and C forms the basis of most of the electronics we use on a daily basis. It will never harm your coding skills to have to manage all the things that scripting languages do for you, i.e. memory management, allocation/de-allocation, OOP, scope, etc…

As the architect himself once said:

“C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off.” ― Bjarne Stroustrup

Refer to my original post, where I bring up examples such as Discord, Google, Mozilla, et cetera.

How about we refer to my original post? I know there is a solution in C++ I just am asking for an explanation on how it could be done.

First job, software engineer for Google:

Preferred qualifications:
Experience working with large code bases
Experience working with the Chromium code base
Understanding of computer graphics and experience in optimization of graphics performance
Understanding of object oriented programming and familiarity with C++
Interest in building user facing features and creating engaging user experiences

First job, Mozilla: Full Stack Engineer:

Experience with C++
Proficient understanding of SQL and Databases
Understanding of Model-View-Controller and Component Based frontend architectures.
Unafraid of asking questions, and proposing new ideas if you think they will make a positive impact.
A love of helping your colleagues grow and get better at what they do.

Developing in a new language will only limit your options, trust me. I have recently been made redundant as a Geophysicist and am in the process of moving to coding as a career, and I’m 46. Many languages have arrived, and many have left. But C++ has only ever arrived, and it changed everything.

Open your place in Studio and go to File in the menu, select Save to File As… (or Press Ctrl+Shift+S), and in the dialog change the file type, like this (if you are on Windows):

You are greedy for wanting money. Clearly you don’t consider coding a passion, instead a money tree that needs shaking. Shame on you.

OP explicitly said that he wants to automate this, please read his thread.

I am my own therapist, he rattled my tree. But ye, I showed the OP how they can do it with a mouse. If they have any experience in C++ they could automate this by code injection. Opening files, moving the mouse, sending keyboard messages, etc, etc… Quite simple.

1 Like

I have this odd feeling you did not read the topic. If I wanted a macro I would download one, and read the topic

Yes I did. I read it, several times since the consensus was that I hadn’t. So I had to check myself.

I am trying to convert rbxl (binary) files to rbxlx (xml) files.

I showed you how to do this, manually. How many files are you trying to convert that is beyond your human capability to press the mouse everytime, do you have thousands or something?

A pseudo-code answer would also be great

You said you can code in C++? Have you tried some code yourself? Be nice to see anything, even a single declaration, function, etc…

I am trying to read some code from the Rojo github.

Is this code in a language you know (I assume C++). I don’t know I haven’t seen the code, maybe show me that as a dangling carrot and I might bite. I have little compulsion to write the code for you, even pseudo. It is not something I would ever use or even see the benefit in. I’m busy trying to do something before I have no choice to do something else that I can’t avoid.

His question included more than enough information for it to be answered. You were so focused on being right you answered a question that no one in this thread had ever asked, and now you are being stubborn and completely adamant that you want to die on the hill of you being right.

At no point did he ask on how to do it manually, he asked how to achieve this through C++ and not though a macro. This also isn’t the type of question where code snippets are relevant as its not about debugging his code, its about how to achieve something in code.

Wise up

3 Likes

Yet you didn’t answer it either which makes anything you say as redundant as anything that I said.

Wise up.

bump, I need to do this as well, but the replies are just quarrelling