Warhammer: Dark Omen library and CLI in Rust
https://github.com/mgi388/darkomen.git
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.
The following table shows the game file support in this library:
| Kind | File extension(s) | Read | Write | Notes |
|---|---|---|---|---|
| 3D models | .M3D, .M3X | โ | โ | |
| Army and save games | .ARM, .AUD, .ARE, .xxx | โ | โ | โ ๏ธ Save games not completely understood |
| Battle tabletops | .BTB | โ | โ | |
| CTL | .CTL | โ | โ | |
| Cursors | .ANI, .CUR | โ | โ | ๐ฆ Read support available for Bevy apps through bevy_cursor_kit crate |
| Fonts | .FNT | โ | โ | |
| Gameflows | .DOT | โ | โ | |
| Lights | .LIT | โ | โ | |
| Movies | .TGQ | โ | โ | |
| Particle effects | .PLB, .H | โ | โ | |
| Portrait heads | HEADS.DB | โ | โ | |
| Portrait keyframes | .KEY | โ | โ | |
| Portrait sequences | .SEQ | โ | โ | โ ๏ธ Commands not validated |
| Projects | .PRJ | โ | โ | |
| Shadows | .SHD | โ | โ | |
| Sound effects | .H | โ | โ | |
| Sound mono audio | .MAD | โ | โ | |
| Sound scripts | .FSM | โ | โ | |
| Sound stereo audio | .SAD | โ | โ | |
| Sprite sheets | .SPR | โ | โ |
cargo, by following the Install Rust guidecargo add darkomendarkomen supports Bevy Reflection
through the bevy_reflect feature. To enable it, add the following line to
your Cargo.toml:
darkomen = { version = "0.4.1", features = ["bevy_reflect"] }
Example setting the --editor flag on Windows to open the file in Visual Studio
Code and wait for it to close before exiting the command:
darkomen army edit DARKOMEN/GAMEDATA/1PARM/PLYR_ALL.ARM --editor "cmd /C code --wait"
[!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.
Licensed under either of
at your option.
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.