https://github.com/elmadev/elma-rust
Tried to make something akin to sigveseb's Python library, but for Rust. In addition to dealing with levels it can also read and write replays. Still kinda work in progress, just something I've been slowly working on while learning Rust. Probably no one else here will ever use this or anything, plus if you use Rust you could probably make something better yourself anyway.
I won't really write too much about how to use it here since I doubt anyone will try, but if you ever want to mongo around with it feel free to ask if you're just getting started with Rust. There's documentation for every function and structure on the github page though.
Some examples of retarded things you could do:
Play around with replays and change information in existing frames
Also using it for making this map/image maker
Some features still missing:
Checking topology stuff like head inside ground, intersecting polygon lines etc.
Reading Across lev and rec files (probably ez addition but not very priority)
Elma library for Rust
Moderator: Moporators
Elma library for Rust
Last edited by skint0r on 12 May 2018, 17:06, edited 1 time in total.
Prestigious member of 14.6x Tutor14 club
Re: Elma library for Rust
Someday... i'll use this, its already written in my future.
Also you could link your technical documentation on wiki elma
Also you could link your technical documentation on wiki elma
Re: Elma library for Rust
o yes... still need to put that rec info there also so didn't figure out where to post it yet. for mans who didn't see, there's already these text files with all rec and lev info, but I was working on putting it all to elma wiki in some form, but dunno quite how to best display it all. so far got this: http://wiki.elmaonline.net/Technical
Prestigious member of 14.6x Tutor14 club
Re: Elma library for Rust
Because of #developers talk in Discord recently, I finally had some reason to update this library a little bit. While very few, if any, people will still use this, guess I might as well write about it here. As in the first post, if you ever want to toy around with Rust and do Elma related stuff, feel free to ask for help.
Updated in library:
Full documentation here https://docs.rs/elma/
Updated in library:
- Support really basic state.dat reading and writing (best times only, needs a valid (can be empty) state.dat file as a base)
- Full LGR reading and writing support (though it doesn't check if it's a valid LGR yet in terms of picture list and attributes like sizes, amount etc.)
- Refactored a lot of stuff to be better.
Full documentation here https://docs.rs/elma/
Prestigious member of 14.6x Tutor14 club
Re: Elma library for Rust
Beautiful! Too bad I've never used Rust :p. When I was writing my stuff, I discovered if I recall that some lgrs (about 10%) made using ?EasyLGR (the Russian one- I'm not on my computer atm so can't check) have corrupted transparency values for special pictures included from pictures.lst (e.g. grass pictures, apples) so in that case I wouldn't throw an error automatically per se
Last edited by sunl on 13 May 2018, 14:38, edited 1 time in total.
Re: Elma library for Rust
I use this for some types and the state.dat-reading, works like a charm
Re: Elma library for Rust
Super big thanks to Smibu for adding these final things. The library now will give byte accurate saving of replay files (previously there were some random values that I had no idea how were generated, although it never impacted actual replay data). He also did the final state.dat parsing, which includes all the player specific settings stored in the file. Previously I had only bothered to add reading and writing of best times, now state.dat reading and writing is also accurate.
As always, if you want to try out programming any Elma related stuff that involves using any of its files, but you have no idea where to start: I'd be happy to help you out how to use Rust and this library, though it can maybe be a bit too daunting for complete beginners compared to using easier languages.
I eventually hope to add the missing pieces to the library, which right now is Across support (in the future I would like to be able to make smooth fps Across movies with big resolution and proper zoom etc like Elma has!), and topology checking of anything that can create invalid levels.
As always, if you want to try out programming any Elma related stuff that involves using any of its files, but you have no idea where to start: I'd be happy to help you out how to use Rust and this library, though it can maybe be a bit too daunting for complete beginners compared to using easier languages.
I eventually hope to add the missing pieces to the library, which right now is Across support (in the future I would like to be able to make smooth fps Across movies with big resolution and proper zoom etc like Elma has!), and topology checking of anything that can create invalid levels.
Prestigious member of 14.6x Tutor14 club