#dark #file #sound #script #3d-model #omen #warhammer

bin+lib darkomen

Warhammer: Dark Omen library and CLI in Rust

14 releases

new 0.3.6 Oct 30, 2024
0.3.5 Oct 26, 2024
0.2.1 Aug 13, 2024
0.1.4 Jul 7, 2024
0.1.3 Jun 28, 2024

#117 in Data formats

Download history 83/week @ 2024-07-08 1/week @ 2024-07-22 249/week @ 2024-08-12 14/week @ 2024-09-23 309/week @ 2024-09-30 40/week @ 2024-10-07 156/week @ 2024-10-14 383/week @ 2024-10-21

892 downloads per month

MIT/Apache

380KB
9K SLoC

Warhammer: Dark Omen library and CLI in Rust

Crates.io Docs.rs CI

A Rust library designed to work with the classic game Warhammer: Dark Omen. It provides developers with tools to read, manipulate, and write game data, enabling the creation of mods, custom levels, and analysis tools.

Features

The following table shows the game file support in this library:

Kind File extension(s) Read Write Known issues?
3D models .M3D
Army and save games .ARM ⚠️ Save games not completely understood
Battle blueprints .BTB
CTL .CTL
Cursors .ANI
Fonts .FNT
Game flows .DOT
Lights .LIT
Movies .TGQ
Particle effects .PLB, .H
Portrait scripts .KEY, .SEQ
Projects .PRJ
Shadows .SHD
Sound effects .H
Sound mono audio .MAD
Sound scripts .FSM
Sound stereo audio .SAD
Sprite sheets .SPR

Installation

Cargo

  • Install the Rust toolchain, which also installs cargo, by following the Install Rust guide
  • Run cargo add darkomen

Cargo features

darkomen supports Bevy Reflection through the bevy_reflect feature. To enable it, add the following line to your Cargo.toml:

darkomen = { version = "0.3.6", features = ["bevy_reflect"] }

Important notes

[!NOTE] This library does not ship with any game assets. You must have a copy of the game to get the most from this library.

[!NOTE] This library is not developed by or endorsed by Games Workshop or Electronic Arts.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~11–21MB
~437K SLoC