๐Ÿ“ฆ mgi388 / darkomen

Warhammer: Dark Omen library and CLI in Rust

โ˜… 3 stars โ‘‚ 0 forks ๐Ÿ‘ 3 watching โš–๏ธ Apache License 2.0
๐Ÿ“ฅ Clone https://github.com/mgi388/darkomen.git
HTTPS git clone https://github.com/mgi388/darkomen.git
SSH git clone git@github.com:mgi388/darkomen.git
CLI gh repo clone mgi388/darkomen
mgi388 mgi388 bump version in Cargo.lock (#448) 81d61e7 2 days ago ๐Ÿ“ History
๐Ÿ“‚ main View all commits โ†’
๐Ÿ“ .github
๐Ÿ“ .vscode
๐Ÿ“ src
๐Ÿ“„ .gitignore
๐Ÿ“„ Cargo.lock
๐Ÿ“„ Cargo.toml
๐Ÿ“„ LICENSE-APACHE
๐Ÿ“„ LICENSE-MIT
๐Ÿ“„ README.md
๐Ÿ“„ rustfmt.toml
๐Ÿ“„ README.md

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:

KindFile extension(s)ReadWriteNotes
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 headsHEADS.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โœ…โŒ

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.4.1", features = ["bevy_reflect"] }

CLI

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"

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

  • Apache License, Version 2.0
(LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
  • MIT license
(LICENSE-MIT or http://opensource.org/licenses/MIT)

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.