Difference between revisions of "Technical"
Jump to navigation
Jump to search
Line 2: | Line 2: | ||
== Elasto Mania == | == Elasto Mania == | ||
− | '''Note:''' All Elasto Mania files are in little-endian format. | + | '''Note:''' All Elasto Mania files are in little-endian format.<br /> |
The type name will depend on what programming language you are working with, here's a short equivalency list between the most common ones as a reference: | The type name will depend on what programming language you are working with, here's a short equivalency list between the most common ones as a reference: | ||
{| class="wikitable" | {| class="wikitable" | ||
− | ! Bytes || C || Python | + | ! Bytes || C || Python¹ || Rust |
|- | |- | ||
− | | 1 || char || c || u8 | + | | 1 || char || c || u8/i8² |
|- | |- | ||
| 1 || uchar || B || u8 | | 1 || uchar || B || u8 | ||
Line 22: | Line 22: | ||
|} | |} | ||
− | + | ¹ Using struct formatting [https://docs.python.org/3/library/struct.html]<br /> | |
+ | ² Depends on context. Assume that all chars in Elma files are ASCII and never expected to be signed, use u8. Probably? | ||
=== Levels === | === Levels === |
Revision as of 17:43, 25 March 2016
Technical information for Elasto Mania files, available APIs and various development stuff.
Elasto Mania
Note: All Elasto Mania files are in little-endian format.
The type name will depend on what programming language you are working with, here's a short equivalency list between the most common ones as a reference:
Bytes | C | Python¹ | Rust |
---|---|---|---|
1 | char | c | u8/i8² |
1 | uchar | B | u8 |
2 | short | h | i16 |
4 | int | i | i32 |
4 | uint | I | u32 |
4 | float | f | f32 |
8 | double | d | f64 |
¹ Using struct formatting [1]
² Depends on context. Assume that all chars in Elma files are ASCII and never expected to be signed, use u8. Probably?
Levels
8)
Language Examples
C/C++
wow test
Python
There is already a nice Elma Python library by sigvef that should cover most of your needs. If not, there's some nice code examples for how you can unpack/pack files if you look at the source code.
Rust
wow test