6 releases
0.1.1 | Aug 2, 2021 |
---|---|
0.1.0 | Nov 12, 2020 |
0.0.4 | Nov 9, 2020 |
0.0.3 | Oct 14, 2020 |
#936 in Game dev
25 downloads per month
47KB
758 lines
ogmo3
ogmo3
is a Rust crate for reading and writing Ogmo Editor 3 projects and levels.
It is modelled loosely off the API for Haxe's ogmo-3-lib
(for now, at least), and aims to provide reasonably type-safe access to the entirety of Ogmo Editor 3.3.0's JSON schema.
Installation
[dependencies]
ogmo3 = "0.1"
Usage
use ogmo3::{Level, Project};
fn main() {
let project = Project::from_file("./example.ogmo").unwrap();
let level = Level::from_file("./levels/level.json").unwrap();
}
For a full example of how to interpret the data in an Ogmo project, see the sample code.
Caveats
- This crate does not provide a runtime or renderer, but should make it easier to create one tailored to your project.
- If you deserialize a project/level and then reserialize it, there is no guarentee that the formatting/ordering of fields will be retained, as this would increase the complexity of the library significantly. However, there should never be any loss of data (and if there is, please file a bug report)!
- This crate has only been tested with Ogmo Editor 3.3.0 - data from earlier versions will likely fail to parse due to missing fields.
License
This project is licensed under the terms of the MIT License.
Dependencies
~1.6–2.5MB
~49K SLoC