ogmo3

Crates.ioogmo3
lib.rsogmo3
version0.1.1
sourcesrc
created_at2020-10-07 17:05:28.383444
updated_at2021-08-02 16:49:20.251911
descriptionA Rust crate for reading and writing Ogmo Editor 3 projects and levels
homepage
repositoryhttps://github.com/17cupsofcoffee/ogmo3
max_upload_size
id297039
size127,164
Joe Clay (17cupsofcoffee)

documentation

https://docs.rs/ogmo3

README

ogmo3

Build Status Crates.io Documentation License

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.

Commit count: 41

cargo fmt