6 releases
0.3.2 | Jul 25, 2021 |
---|---|
0.3.1 | Jul 25, 2021 |
0.2.1 | Jul 25, 2021 |
0.1.0 | Jul 24, 2021 |
#9 in #ii
4MB
1K
SLoC
Djin
⚠️ Work in progress
Djin is a work in progress replacement for genie-rs.
It currently support Age of Empire II Definitive Edition only but we plan to support other version of the game when the main features will be stabilised.
The main difference with genie-rs is the fact that we use a fork of the protocol crate handle game files serialization and deserialization. This allow us to write almost zero parsing logic.
Age of Empires II © Microsoft Corporation. djin was created under Microsoft's "Game Content Usage Rules" using assets from Age of Empires II, and it is not endorsed by or affiliated with Microsoft.
Example
You can run this example with cargo run --example datfile
:
fn main() {
let datfile = DatFile::from_file("tests/game_assets/empires2_x2_p1.dat").expect("Error reading dat file");
datfile.civilizations.civilizations.iter()
.for_each(|civ| println!("{}", civ.name))
}
Dependencies
~5–10MB
~125K SLoC