Difference between revisions of "Technical"

From Elma Wiki
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* || Rust
+
! Bytes || C || Python&sup1; || Rust
 
|-
 
|-
| 1 || char || c || u8
+
| 1 || char || c || u8/i8&sup2;
 
|-
 
|-
 
| 1 || uchar || B || u8
 
| 1 || uchar || B || u8
Line 22: Line 22:
 
|}
 
|}
  
<nowiki>*</nowiki> Using struct formatting [https://docs.python.org/3/library/struct.html]
+
&sup1; Using struct formatting [https://docs.python.org/3/library/struct.html]<br />
 +
&sup2; 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

Replay files

Action SuperCross

Levels

Replay files