GithubHelp home page GithubHelp logo

rojo-rbx / rbxlx-to-rojo Goto Github PK

View Code? Open in Web Editor NEW
142.0 12.0 32.0 329 KB

Tool to one time convert Roblox places to Rojo projects

License: Mozilla Public License 2.0

Rust 25.52% Lua 74.48%
roblox rojo

rbxlx-to-rojo's Introduction

rbxlx-to-rojo (now supports .rbxl!)

Tool to convert existing Roblox games into Rojo projects by reading their rbxl or rbxlx place files.

Using rbxlx-to-rojo

Setup

Before you can use rbxlx-to-rojo, you need the following:

  • At least Rojo 0.5.0 Alpha 12 or higher to use the tool.
  • A rbxlx place file that at least has scripts

If there aren't any scripts in the rbxlx file, rbxlx-to-rojo will return an error.

Download the latest release of rbxlx-to-rojo here: https://github.com/rojo-rbx/rbxlx-to-rojo/releases

Porting the game

Before you can port your game into Rojo projects, you need a place/model file. If you have an existing game that isn't exported:

  • Go to studio, click on any place, and then click on File -> Save to file as.

  • Create a folder and name it whatever you want.

Steps to port the game:

  1. Double-click on rbxlx-to-rojo on wherever you installed it.
  2. Select the .rbxl file you saved earlier.
  3. Now, select the folder that you just created.

If you followed the steps correctly, you should see something that looks like this:

Congratulations, you successfully ported an existing game using rbxlx-to-rojo!

License

rbxlx-to-rojo is available under The Mozilla Public License, Version 2. Details are available in LICENSE.md.

rbxlx-to-rojo's People

Contributors

jaguar-515 avatar kampfkarren avatar lpghatguy avatar overhash avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rbxlx-to-rojo's Issues

GUI

While keeping in spirit with #10, rbxlx-to-rojo as a library introduces the possibility of a simple GUI application, which is better than CLI for introducing developers to Rojo.

Use .meta.json

.meta.json allows for things like supporting scripts inside tools. Very useful.

Conversion Error - Probably an Edge Case

I attempted to execute rbxlx-to-rojo on RLVP.zip from the .exe build for version 0.1.0; I didn't previously install Rojo or Rust. From what I could collect, the command-line interface manages to correctly locate the file I intend to extract from, and correctly parses the serialised XML to a point. The full console output (run on a Bash emulator for Windows) is as follows:

$ ./rbxlx-to-rojo.exe rlvp.rbxlx
[2020-02-28T18:53:41Z INFO  rbxlx_to_rojo] rbxlx-to-rojo 0.1.0
[2020-02-28T18:53:41Z INFO  rbxlx_to_rojo] Select a place file.
[2020-02-28T18:53:41Z INFO  rbxlx_to_rojo] Opening place file
[2020-02-28T18:53:41Z INFO  rbxlx_to_rojo] Decoding place file, this is the longest part...
An error occurred while using rbxlx-to-rojo.
While attempting to decode the place file, at line 3231, column 6: Unknown property type 'Faces' rbx_xml didn't know what to do

VCRUNTIME140.dll Error

I'm getting this error when opening rbxlx-to-rojo.exe:

The code execution cannot proceed because VCRUNTIME140.dll was not found. Reinstalling the program may fix this problem.

"can't create default.project.json" panic when exporting a place with no scripts

After I select a folder, it returns this error:

thread 'main' panicked at 'can't create default.project.json: Os { code: 3, kind: NotFound, message: "The system cannot find the path specified." }', src\libcore\result.rs:997:5
note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.

Is this a normal error or did I do something wrong?

The filename, directory name, or volume label syntax is incorrect

Hi, i am trying to us it on a fairly big project that has a rbxlx file size of 48973KB and it fails each time with incomplete export.
I run it with RUST_BACKTRACE=1 and i got this:

[2020-03-31T10:51:33Z INFO rbxlx_to_rojo] rbxlx-to-rojo 0.1.0
[2020-03-31T10:51:33Z INFO rbxlx_to_rojo] Select a place file.
[2020-03-31T10:51:42Z INFO rbxlx_to_rojo] Opening place file
[2020-03-31T10:51:42Z INFO rbxlx_to_rojo] Decoding place file, this is the longest part...
[2020-03-31T10:53:17Z INFO rbxlx_to_rojo] Select the path to put your Rojo project in.
[2020-03-31T10:53:20Z INFO rbxlx_to_rojo] Starting processing, please wait a bit...
thread 'main' panicked at 'can't write folder: Os { code: 123, kind: Other, message: "The filename, directory name, or volume label syntax is incorrect." }', src\libcore\result.rs:997:5
stack backtrace:
0:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21: BaseThreadInitThunk
22: RtlUserThreadStart

Rbxlx-To-Rojo closing with no errors

Hello, whenever I try to convert my rbxlx file, it says "decoding file" and then closes itself soon after with no error. I tried replacing optionalcoordinates with grep to no avail.

Im on a windows 10 machine

Only Partially Works for Certain Place

Hello, so I tried using this for my main game and it only partially works. I don't get any errors when running the .exe.

It skips over a lot of scripts, and almost every modulescript isn't included. Also, for this particular place, a default.project JSON file is never created. I tried it out on a different game of mine and it worked just fine -- every script was included and everything worked as intended. It just seems that for this one place, certain files are not created.

Could it have something to do with the file size? It's about 50,000 kilobytes. Smaller files work without any problems.

If you need any more information for debugging or correcting any mistake that I might be making, let me know. Thanks.

Settings

By default, rbxlx-to-rojo wants to make it as easy as possible for new developers to enter the world of Rojo. However, this has some consequences.

  • meta files everywhere
  • Properties don't sync
  • No .rbxmx or .model.json files

I don't want rbxlx-to-rojo to be only for making Rojo accessible, I want it to be a tool power users use as well who know all the intricacies of Rojo and won't get confused by clobbering and whatnot. Thus, there should be settings for every cut rbxlx-to-rojo makes to ensure accessibility. Probably even presets.

Just closes instantly

Closes as soon as you choose a place file and doesn't do anything

EDIT: forgot to mention it worked perfectly earlier

The filename, directory name, or volume label syntax is incorrect.

Hello, I am trying to convert a fairly big game and keep getting the same error.

Here is a screenshot:

image

I have looked at the other person that had the same problem but it seems as though he fixed the problem by reenabling scripts, but I don't have any disabled scripts.

Any and all help is appreciated!

Decoding place file no longer works after latest Roblox update

After latest Roblox update, Studio version: 0.473.0.420291 rbxlx-to-rojo no longer works and returns this error:

An error occurred while using rbxlx-to-rojo.
While attempting to decode the place file, at line 65, column 3: Unknown property type 'OptionalCoordinateFrame' rbx_xml didn't know what to do

Looks like Roblox may have added an additional property that the decoder doesn't like.

Focus more on incremental integration

A lot of people might have things such as vehicles with scripts inside, which are so far problematic for Rojo. Instead of trying to stomp out all these cases, focus should instead be put on incremental integration, such as only converting ServerScirptService, and slowly moving over from there.

Compile issues with cargo

I ran:
cargo install --git https://github.com/rojo-rbx/rbxlx-to-rojo

After compilation, the terminal had this output:
no binaries are available for install using the selected features

I'm assuming this isn't expected behavior? There doesn't seem to be an executable provided for macOS in the releases, otherwise I would just use that.

Personally, I'm not familiar with rust, so please forgive me if I made a silly mistake here.

I can't open rbxlx-to-rojo-macos

Please help! I've been watching a tutorial on how to set up rojo, one of the steps is to open this file and when i open it i just get a text edit with a bunch characters and stuff, i am on catalina os fyi

Rbxlx-to-rojo isn't correctly installing

Hi, I recently wanted starting working with Rojo, I already have a game where I code an plugin, but for some strange reasons the rbxlx-to-rojo isn't accurately porting my game to rojo. What I should see:
image
And what I see:
Code_VhZxEmwIF3
I understand the rbxlx.lock file and the rojo file, but where is the default.project.json file? I don't see it and I don't know what should be there, so any idea whats happening?

While I was importing, I only selected one place file and the target folder, and I don't see any errors. Then, my place has some scripts: In my Workspace and in my StarterGui, so the bug that occurs when I don't have any scripts shouldn't occure. What's the problem?

Don't sync properties at all?

The following Roblox structure:

Thing <MeshPart>
L Code <ModuleScript>

CANNOT be represented totally through Rojo and be able to live sync--scripts can't set MeshPart IDs. As in, an init.meta.json with this:

{
  "className": "MeshPart",
  "properties": {
    "MeshId": "rbxassetid://12345678"
  }
}

...will error. However, I just learned that if you don't have properties set at all, then it will live sync and preserve the mesh ID.

This got me thinking--the workflow of rbxlx-to-rojo consumers at this point is aimed to be kept mostly in Studio (with only scripts being synced in, service properties not being written, etc ). So maybe properties just shouldn't be set at all?

rbxlx-to-rojo fails to write to the folder

After following all the instructions and selecting all of the file paths, the following Rust error happens:

cmd_QgsuPYzlJR

I have correctly followed the instructions, and am aware that this might be considered dead.

OS: Windows 11

Can't create default.project.json

The video below shows what happened:

2022-02-20.10-59-38_Trim.mp4

As you can see, after running rbxlx-to-rojo, it didn't create default.project.json, and some scripts in my game weren't appear in the folder.

Only a tiny bit of the game converts

When I tried using rbxlx-to-rojo on my game, (which I downloaded directly from the roblox website) it only extracted one folder from the workspace and nothing else. Is this a bug or just me being dumb and not doing something right?

line 1, column 0: 1:8 Unexpected token inside qualified name: !

Moved from rbx_xml to this repo. rojo-rbx/rbx-dom#157

Roblox Studio version: 0.459.2.415937 (64bit)
OS version: Windows 10 Build 19041

I tried downloading a place (through Roblox Studio's "Download a Copy...") and converting it, but it isn't able to finish decoding the .rblx file.

Here's the output:

$ C:\Users\cobertos\Downloads\rbxlx-to-rojo.exe jeff-gaming-3-rojo.rbxl
[2021-01-05T05:08:00Z INFO  rbxlx_to_rojo] rbxlx-to-rojo 0.1.0
[2021-01-05T05:08:00Z INFO  rbxlx_to_rojo] Select a place file.
[2021-01-05T05:08:00Z INFO  rbxlx_to_rojo] Opening place file
[2021-01-05T05:08:00Z INFO  rbxlx_to_rojo] Decoding place file, this is the longest part...
An error occurred while using rbxlx-to-rojo.
While attempting to decode the place file, at line 1, column 0: 1:8 Unexpected token inside qualified name: ! rbx_xml didn't know what to do

Here's the file I couldn't decode:

jeff-gaming-3-rojo.zip

Cannot run rbxlx-to-rojo file on MacOS

I downloaded the file and double clicked but it didn't open and returned an error.
I also tried running in terminal(./rbxlx-to-rojo) but it said "command not found".
HELP ME PLEASE ;-;
OS: MacOS Big Sur

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.