mirror of
https://github.com/rojo-rbx/rojo.git
synced 2026-04-20 20:55:50 +00:00
Compare commits
13 Commits
v0.5.0-alp
...
v0.5.0-alp
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
62bb5a28aa | ||
|
|
f768b200d2 | ||
|
|
a5b6db74e5 | ||
|
|
cbe4467a22 | ||
|
|
8417d18eec | ||
|
|
93ae8187cd | ||
|
|
972338d86a | ||
|
|
a4a6e3b8f6 | ||
|
|
d788dd3042 | ||
|
|
974760f020 | ||
|
|
65569c4a60 | ||
|
|
39da45f0bd | ||
|
|
dc7c27e619 |
3
.gitignore
vendored
3
.gitignore
vendored
@@ -1,8 +1,7 @@
|
||||
/site
|
||||
/target
|
||||
/scratch-project
|
||||
**/*.rs.bk
|
||||
/server/failed-snapshots/
|
||||
**/*.rs.bk
|
||||
/*.rbxm
|
||||
/*.rbxmx
|
||||
/*.rbxl
|
||||
|
||||
@@ -30,7 +30,7 @@ matrix:
|
||||
# - luacov-coveralls -e $TRAVIS_BUILD_DIR/lua_install
|
||||
|
||||
- language: rust
|
||||
rust: 1.32.0
|
||||
rust: 1.34.0
|
||||
cache: cargo
|
||||
|
||||
script:
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
# Rojo Changelog
|
||||
|
||||
## Unreleased Changes
|
||||
|
||||
## [0.5.0 Alpha 13](https://github.com/rojo-rbx/rojo/releases/tag/v0.5.0-alpha.13) (August 2, 2019)
|
||||
* Bumped minimum Rust version to 1.34.0.
|
||||
* Fixed default port documentation in `rojo serve --help` ([#219](https://github.com/rojo-rbx/rojo/issues/219))
|
||||
* Fixed BrickColor support by upgrading Roblox-related dependencies
|
||||
|
||||
## [0.5.0 Alpha 12](https://github.com/rojo-rbx/rojo/releases/tag/v0.5.0-alpha.12) (July 2, 2019)
|
||||
* Added `.meta.json` files
|
||||
* `init.meta.json` files replace `init.model.json` files from Rojo 0.4.x ([#183](https://github.com/rojo-rbx/rojo/pull/183))
|
||||
|
||||
579
Cargo.lock
generated
579
Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
||||
<div align="center">
|
||||
<a href="https://rojo.space">
|
||||
<img src="assets/rojo-logo.png" alt="Rojo" height="217" />
|
||||
<img src="assets/logo-512.png" alt="Rojo" height="217" />
|
||||
</a>
|
||||
</div>
|
||||
|
||||
@@ -50,7 +50,7 @@ If you find any mistakes, feel free to make changes in the [docs](https://github
|
||||
## Contributing
|
||||
Pull requests are welcome!
|
||||
|
||||
Rojo supports Rust 1.32 and newer.
|
||||
Rojo supports Rust 1.34.0 and newer. The minimum supported version of Rust is based on the latest versions of the dependencies that Rojo has.
|
||||
|
||||
## License
|
||||
Rojo is available under the terms of the Mozilla Public License, Version 2.0. See [LICENSE.txt](LICENSE.txt) for details.
|
||||
BIN
assets/logo-512.png
Normal file
BIN
assets/logo-512.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 33 KiB |
@@ -2,10 +2,10 @@
|
||||
|
||||
## Summary
|
||||
* Tools to port existing games are in progress!
|
||||
* [rbxlx-to-rojo](https://github.com/rojo/rbxlx-to-rojo)
|
||||
* [rbxlx-to-rojo](https://github.com/rojo-rbx/rbxlx-to-rojo)
|
||||
* `rojo export` ([issue #208](https://github.com/rojo-rbx/rojo/issues/208))
|
||||
* Can port as much or as little of your game as you like
|
||||
* Rojo can manage just a slice of your game!
|
||||
* Some Roblox idioms aren't very well supported
|
||||
* Redundant copies of scripts don't work well with files
|
||||
* Having only a couple places with scripts simplifies your project dramatically!
|
||||
* Having only a couple places with scripts simplifies your project dramatically!
|
||||
|
||||
@@ -29,7 +29,7 @@ If you have Rust installed, the easiest way to get Rojo is with Cargo!
|
||||
To install the latest 0.5.0 alpha, use:
|
||||
|
||||
```sh
|
||||
cargo install rojo --version 0.5.0-alpha.12
|
||||
cargo install rojo --version 0.5.0-alpha.13
|
||||
```
|
||||
|
||||
## Installing the Plugin
|
||||
|
||||
@@ -41,7 +41,7 @@ All we have to do is call `rojo build`:
|
||||
rojo build -o MyNewProject.rbxlx
|
||||
```
|
||||
|
||||
If you open `MyNewProject.rbxlx` in Roblox Studio now, you should see a `Folder` containing a `ModuleScript` under `ReplicatedStorage`!
|
||||
If you open `MyNewProject.rbxlx` in Roblox Studio now, you should see a `Folder` named "Source" containing a `ModuleScript` under `ReplicatedStorage`.
|
||||
|
||||
!!! info
|
||||
To generate a binary place file instead, use `rbxl`. Note that support for binary model/place files (`rbxm` and `rbxl`) is very limited in Rojo presently.
|
||||
@@ -49,7 +49,7 @@ If you open `MyNewProject.rbxlx` in Roblox Studio now, you should see a `Folder`
|
||||
## Live-Syncing into Studio
|
||||
Building a place file is great for starting to work on a game, but for active iteration, you'll want something faster.
|
||||
|
||||
In Roblox Studio, make sure the Rojo plugin is installed. If you need it, check out [the installation guide](installation) to learn how to install it.
|
||||
In Roblox Studio, make sure the Rojo plugin is installed. If you need it, check out [the installation guide](../installation) to learn how to install it.
|
||||
|
||||
To expose your project to the plugin, you'll need to start a new **live sync session** from the command line:
|
||||
|
||||
@@ -87,4 +87,4 @@ Generating and publishing your game is as simple as:
|
||||
rojo upload --asset_id [PLACE ID] --cookie "[SECURITY COOKIE]"
|
||||
```
|
||||
|
||||
An example project is available on GitHub that deploys to Roblox.com from GitHub and Travis-CI automatically: [https://github.com/LPGhatguy/roads](https://github.com/LPGhatguy/roads)
|
||||
An example project is available on GitHub that deploys to Roblox.com from GitHub and Travis-CI automatically: [https://github.com/LPGhatguy/roads](https://github.com/LPGhatguy/roads)
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
# Rojo Plugin
|
||||
|
||||
This is the source to the Rojo Roblox Studio plugin.
|
||||
|
||||
Documentation is WIP.
|
||||
Submodule plugin/modules/rbx-dom updated: d7be961eb3...9d5aad1faa
@@ -1,6 +1,6 @@
|
||||
return {
|
||||
codename = "Epiphany",
|
||||
version = {0, 5, 0, "-alpha.12"},
|
||||
version = {0, 5, 0, "-alpha.13"},
|
||||
expectedServerVersionString = "0.5.0 or newer",
|
||||
protocolVersion = 2,
|
||||
defaultHost = "localhost",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "rojo"
|
||||
version = "0.5.0-alpha.12"
|
||||
version = "0.5.0-alpha.13"
|
||||
authors = ["Lucien Greathouse <me@lpghatguy.com>"]
|
||||
description = "Enables professional-grade development tools for Roblox developers"
|
||||
license = "MIT"
|
||||
@@ -30,8 +30,8 @@ log = "0.4"
|
||||
maplit = "1.0.1"
|
||||
notify = "4.0"
|
||||
rbx_binary = "0.4.1"
|
||||
rbx_dom_weak = "1.8.0"
|
||||
rbx_xml = "0.10.0"
|
||||
rbx_dom_weak = "1.9.0"
|
||||
rbx_xml = "0.11.0"
|
||||
rbx_reflection = "3.1.388"
|
||||
regex = "1.0"
|
||||
reqwest = "0.9.5"
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
# Rojo Server
|
||||
This is the source to the Rojo server.
|
||||
|
||||
Documentation is WIP.
|
||||
@@ -43,7 +43,7 @@ fn main() {
|
||||
(@subcommand serve =>
|
||||
(about: "Serves the project's files for use with the Rojo Studio plugin.")
|
||||
(@arg PROJECT: "Path to the project to serve. Defaults to the current directory.")
|
||||
(@arg port: --port +takes_value "The port to listen on. Defaults to 8000.")
|
||||
(@arg port: --port +takes_value "The port to listen on. Defaults to 34872.")
|
||||
)
|
||||
|
||||
(@subcommand build =>
|
||||
|
||||
@@ -43,6 +43,15 @@ fn multi_partition_game() {
|
||||
tree_step("with_moved_dir", &live_session, &source_path);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn spawn_location() {
|
||||
let _ = env_logger::try_init();
|
||||
let source_path = project_path("spawn_location");
|
||||
|
||||
let (_dir, live_session) = start_session(&source_path);
|
||||
tree_step("initial", &live_session, &source_path);
|
||||
}
|
||||
|
||||
/// Find the path to the given test project relative to the manifest.
|
||||
fn project_path(name: &str) -> PathBuf {
|
||||
let mut path = Path::new(env!("CARGO_MANIFEST_DIR")).join("../test-projects");
|
||||
|
||||
6
test-projects/spawn_location/default.project.json
Normal file
6
test-projects/spawn_location/default.project.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"name": "spawn_location",
|
||||
"tree": {
|
||||
"$path": "src"
|
||||
}
|
||||
}
|
||||
266
test-projects/spawn_location/initial.tree.json
Normal file
266
test-projects/spawn_location/initial.tree.json
Normal file
@@ -0,0 +1,266 @@
|
||||
{
|
||||
"instances": {
|
||||
"21406306-61c7-45f6-9e3e-50cd6b609214": {
|
||||
"Name": "spawn_location",
|
||||
"ClassName": "Folder",
|
||||
"Properties": {},
|
||||
"Id": "21406306-61c7-45f6-9e3e-50cd6b609214",
|
||||
"Children": [
|
||||
"da5dd362-4eb6-488a-984b-c96327927a70"
|
||||
],
|
||||
"Parent": null
|
||||
},
|
||||
"da5dd362-4eb6-488a-984b-c96327927a70": {
|
||||
"Name": "spawn",
|
||||
"ClassName": "SpawnLocation",
|
||||
"Properties": {
|
||||
"Size": {
|
||||
"Type": "Vector3",
|
||||
"Value": [
|
||||
12.0,
|
||||
1.0,
|
||||
12.0
|
||||
]
|
||||
},
|
||||
"Massless": {
|
||||
"Type": "Bool",
|
||||
"Value": false
|
||||
},
|
||||
"LeftSurface": {
|
||||
"Type": "Enum",
|
||||
"Value": 0
|
||||
},
|
||||
"Color": {
|
||||
"Type": "Color3",
|
||||
"Value": [
|
||||
0.6392157,
|
||||
0.63529414,
|
||||
0.64705884
|
||||
]
|
||||
},
|
||||
"RightSurfaceInput": {
|
||||
"Type": "Enum",
|
||||
"Value": 0
|
||||
},
|
||||
"Neutral": {
|
||||
"Type": "Bool",
|
||||
"Value": true
|
||||
},
|
||||
"Locked": {
|
||||
"Type": "Bool",
|
||||
"Value": false
|
||||
},
|
||||
"Anchored": {
|
||||
"Type": "Bool",
|
||||
"Value": true
|
||||
},
|
||||
"CanCollide": {
|
||||
"Type": "Bool",
|
||||
"Value": true
|
||||
},
|
||||
"FrontSurfaceInput": {
|
||||
"Type": "Enum",
|
||||
"Value": 0
|
||||
},
|
||||
"LeftSurfaceInput": {
|
||||
"Type": "Enum",
|
||||
"Value": 0
|
||||
},
|
||||
"RightSurface": {
|
||||
"Type": "Enum",
|
||||
"Value": 0
|
||||
},
|
||||
"FrontSurface": {
|
||||
"Type": "Enum",
|
||||
"Value": 0
|
||||
},
|
||||
"TopSurfaceInput": {
|
||||
"Type": "Enum",
|
||||
"Value": 0
|
||||
},
|
||||
"CastShadow": {
|
||||
"Type": "Bool",
|
||||
"Value": true
|
||||
},
|
||||
"BottomSurface": {
|
||||
"Type": "Enum",
|
||||
"Value": 0
|
||||
},
|
||||
"Duration": {
|
||||
"Type": "Int32",
|
||||
"Value": 10
|
||||
},
|
||||
"Velocity": {
|
||||
"Type": "Vector3",
|
||||
"Value": [
|
||||
0.0,
|
||||
0.0,
|
||||
0.0
|
||||
]
|
||||
},
|
||||
"BottomSurfaceInput": {
|
||||
"Type": "Enum",
|
||||
"Value": 0
|
||||
},
|
||||
"TopSurface": {
|
||||
"Type": "Enum",
|
||||
"Value": 0
|
||||
},
|
||||
"CFrame": {
|
||||
"Type": "CFrame",
|
||||
"Value": [
|
||||
-6.0,
|
||||
0.500001,
|
||||
-11.0,
|
||||
1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
1.0
|
||||
]
|
||||
},
|
||||
"TeamColor": {
|
||||
"Type": "BrickColor",
|
||||
"Value": 194
|
||||
},
|
||||
"RotVelocity": {
|
||||
"Type": "Vector3",
|
||||
"Value": [
|
||||
0.0,
|
||||
0.0,
|
||||
0.0
|
||||
]
|
||||
},
|
||||
"Reflectance": {
|
||||
"Type": "Float32",
|
||||
"Value": 0.0
|
||||
},
|
||||
"AllowTeamChangeOnTouch": {
|
||||
"Type": "Bool",
|
||||
"Value": false
|
||||
},
|
||||
"RightParamA": {
|
||||
"Type": "Float32",
|
||||
"Value": -0.5
|
||||
},
|
||||
"LeftParamA": {
|
||||
"Type": "Float32",
|
||||
"Value": -0.5
|
||||
},
|
||||
"Tags": {
|
||||
"Type": "BinaryString",
|
||||
"Value": ""
|
||||
},
|
||||
"Transparency": {
|
||||
"Type": "Float32",
|
||||
"Value": 0.0
|
||||
},
|
||||
"Shape": {
|
||||
"Type": "Enum",
|
||||
"Value": 1
|
||||
},
|
||||
"FrontParamA": {
|
||||
"Type": "Float32",
|
||||
"Value": -0.5
|
||||
},
|
||||
"RootPriority": {
|
||||
"Type": "Int32",
|
||||
"Value": 0
|
||||
},
|
||||
"FrontParamB": {
|
||||
"Type": "Float32",
|
||||
"Value": 0.5
|
||||
},
|
||||
"FormFactor": {
|
||||
"Type": "Enum",
|
||||
"Value": 1
|
||||
},
|
||||
"BottomParamB": {
|
||||
"Type": "Float32",
|
||||
"Value": 0.5
|
||||
},
|
||||
"BackSurface": {
|
||||
"Type": "Enum",
|
||||
"Value": 0
|
||||
},
|
||||
"BottomParamA": {
|
||||
"Type": "Float32",
|
||||
"Value": -0.5
|
||||
},
|
||||
"Enabled": {
|
||||
"Type": "Bool",
|
||||
"Value": true
|
||||
},
|
||||
"BackParamB": {
|
||||
"Type": "Float32",
|
||||
"Value": 0.5
|
||||
},
|
||||
"BackParamA": {
|
||||
"Type": "Float32",
|
||||
"Value": -0.5
|
||||
},
|
||||
"LeftParamB": {
|
||||
"Type": "Float32",
|
||||
"Value": 0.5
|
||||
},
|
||||
"TopParamA": {
|
||||
"Type": "Float32",
|
||||
"Value": -0.5
|
||||
},
|
||||
"RightParamB": {
|
||||
"Type": "Float32",
|
||||
"Value": 0.5
|
||||
},
|
||||
"CollisionGroupId": {
|
||||
"Type": "Int32",
|
||||
"Value": 0
|
||||
},
|
||||
"BackSurfaceInput": {
|
||||
"Type": "Enum",
|
||||
"Value": 0
|
||||
},
|
||||
"CustomPhysicalProperties": {
|
||||
"Type": "PhysicalProperties",
|
||||
"Value": null
|
||||
},
|
||||
"TopParamB": {
|
||||
"Type": "Float32",
|
||||
"Value": 0.5
|
||||
},
|
||||
"Material": {
|
||||
"Type": "Enum",
|
||||
"Value": 256
|
||||
}
|
||||
},
|
||||
"Id": "da5dd362-4eb6-488a-984b-c96327927a70",
|
||||
"Children": [],
|
||||
"Parent": "21406306-61c7-45f6-9e3e-50cd6b609214"
|
||||
}
|
||||
},
|
||||
"root_id": "21406306-61c7-45f6-9e3e-50cd6b609214",
|
||||
"metadata": {
|
||||
"da5dd362-4eb6-488a-984b-c96327927a70": {
|
||||
"ignore_unknown_instances": false,
|
||||
"source_path": "src/spawn.rbxmx",
|
||||
"project_definition": null
|
||||
},
|
||||
"21406306-61c7-45f6-9e3e-50cd6b609214": {
|
||||
"ignore_unknown_instances": false,
|
||||
"source_path": "src",
|
||||
"project_definition": [
|
||||
"spawn_location",
|
||||
{
|
||||
"class_name": null,
|
||||
"children": {},
|
||||
"properties": {},
|
||||
"ignore_unknown_instances": null,
|
||||
"path": "src"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
85
test-projects/spawn_location/src/spawn.rbxmx
Normal file
85
test-projects/spawn_location/src/spawn.rbxmx
Normal file
@@ -0,0 +1,85 @@
|
||||
<roblox 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" version="4">
|
||||
<Meta name="ExplicitAutoJoints">true</Meta>
|
||||
<External>null</External>
|
||||
<External>nil</External>
|
||||
<Item class="SpawnLocation" referent="RBX8927A074BA5942B696D00BDFD02B5365">
|
||||
<Properties>
|
||||
<bool name="AllowTeamChangeOnTouch">false</bool>
|
||||
<bool name="Anchored">true</bool>
|
||||
<float name="BackParamA">-0.5</float>
|
||||
<float name="BackParamB">0.5</float>
|
||||
<token name="BackSurface">0</token>
|
||||
<token name="BackSurfaceInput">0</token>
|
||||
<float name="BottomParamA">-0.5</float>
|
||||
<float name="BottomParamB">0.5</float>
|
||||
<token name="BottomSurface">0</token>
|
||||
<token name="BottomSurfaceInput">0</token>
|
||||
<CoordinateFrame name="CFrame">
|
||||
<X>-6</X>
|
||||
<Y>0.500001013</Y>
|
||||
<Z>-11</Z>
|
||||
<R00>1</R00>
|
||||
<R01>0</R01>
|
||||
<R02>0</R02>
|
||||
<R10>0</R10>
|
||||
<R11>1</R11>
|
||||
<R12>0</R12>
|
||||
<R20>0</R20>
|
||||
<R21>0</R21>
|
||||
<R22>1</R22>
|
||||
</CoordinateFrame>
|
||||
<bool name="CanCollide">true</bool>
|
||||
<bool name="CastShadow">true</bool>
|
||||
<int name="CollisionGroupId">0</int>
|
||||
<Color3uint8 name="Color3uint8">4288914085</Color3uint8>
|
||||
<PhysicalProperties name="CustomPhysicalProperties">
|
||||
<CustomPhysics>false</CustomPhysics>
|
||||
</PhysicalProperties>
|
||||
<int name="Duration">10</int>
|
||||
<bool name="Enabled">true</bool>
|
||||
<float name="FrontParamA">-0.5</float>
|
||||
<float name="FrontParamB">0.5</float>
|
||||
<token name="FrontSurface">0</token>
|
||||
<token name="FrontSurfaceInput">0</token>
|
||||
<float name="LeftParamA">-0.5</float>
|
||||
<float name="LeftParamB">0.5</float>
|
||||
<token name="LeftSurface">0</token>
|
||||
<token name="LeftSurfaceInput">0</token>
|
||||
<bool name="Locked">false</bool>
|
||||
<bool name="Massless">false</bool>
|
||||
<token name="Material">256</token>
|
||||
<string name="Name">SpawnLocation</string>
|
||||
<bool name="Neutral">true</bool>
|
||||
<float name="Reflectance">0</float>
|
||||
<float name="RightParamA">-0.5</float>
|
||||
<float name="RightParamB">0.5</float>
|
||||
<token name="RightSurface">0</token>
|
||||
<token name="RightSurfaceInput">0</token>
|
||||
<int name="RootPriority">0</int>
|
||||
<Vector3 name="RotVelocity">
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
<Z>0</Z>
|
||||
</Vector3>
|
||||
<BinaryString name="Tags"></BinaryString>
|
||||
<int name="TeamColor">194</int>
|
||||
<float name="TopParamA">-0.5</float>
|
||||
<float name="TopParamB">0.5</float>
|
||||
<token name="TopSurface">0</token>
|
||||
<token name="TopSurfaceInput">0</token>
|
||||
<float name="Transparency">0</float>
|
||||
<Vector3 name="Velocity">
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
<Z>0</Z>
|
||||
</Vector3>
|
||||
<token name="formFactorRaw">1</token>
|
||||
<token name="shape">1</token>
|
||||
<Vector3 name="size">
|
||||
<X>12</X>
|
||||
<Y>1</Y>
|
||||
<Z>12</Z>
|
||||
</Vector3>
|
||||
</Properties>
|
||||
</Item>
|
||||
</roblox>
|
||||
Reference in New Issue
Block a user