aoe-djin

Crates.ioaoe-djin
lib.rsaoe-djin
version0.3.2
sourcesrc
created_at2021-07-24 14:42:00.445417
updated_at2021-07-25 17:45:43.429634
descriptionDjin is a utility crate to extract Age of Empire II Definitive edition game data.
homepage
repositoryhttps://github.com/scout-gg/djin
max_upload_size
id426797
size4,219,745
Paul Delafosse (oknozor)

documentation

README

Djin

CI GitHub tag (latest by date) Conventional Commits License

⚠️ 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))
}
Commit count: 33

cargo fmt