darkomen 0.3.5

Warhammer: Dark Omen library and CLI in Rust
Documentation
# Warhammer: Dark Omen library and CLI in Rust

[![Crates.io](https://img.shields.io/crates/v/darkomen.svg)](https://crates.io/crates/darkomen)
[![Docs.rs](https://docs.rs/darkomen/badge.svg)](https://docs.rs/darkomen)
[![CI](https://github.com/mgi388/darkomen/workflows/CI/badge.svg)](https://github.com/mgi388/darkomen/actions)

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]src/m3d                       | .M3D              |||                              |
| [Army and save files]src/army            | .ARM              ||| ⚠️ Save files are not tested |
| [Battle blueprints]src/battle            | .BTB              |||                              |
| CTL                                        | .CTL              |||                              |
| Cursors                                    | .ANI              |||                              |
| Fonts                                      | .FNT              |||                              |
| Game flows                                 | .DOT              |||                              |
| [Lights]src/light                        | .LIT              ||| ⚠️ Flags are not correct     |
| Movies                                     | .TGQ              |||                              |
| Particle effects                           | .PLB, .H          |||                              |
| Portrait scripts                           | .KEY, .SEQ        |||                              |
| [Projects]src/project                    | .PRJ              |||                              |
| [Shadows]src/shadow                      | .SHD              |||                              |
| [Sound effects]src/sound/sfx             | .H                |||                              |
| [Sound mono audio]src/sound/mad          | .MAD              |||                              |
| [Sound scripts]src/sound/script          | .FSM              |||                              |
| [Sound stereo audio]src/sound/sad        | .SAD              |||                              |
| [Sprite sheets]src/graphics/sprite_sheet | .SPR              |||                              |

## Installation

### Cargo

- Install the Rust toolchain, which also installs `cargo`, by following the [Install Rust guide]https://www.rust-lang.org/tools/install
- Run `cargo add darkomen`

#### Cargo features

`darkomen` supports [Bevy Reflection](https://docs.rs/bevy_reflect/latest/bevy_reflect)
through the `bevy_reflect` feature. To enable it, add the following line to
your `Cargo.toml`:

```toml
darkomen = { version = "0.3.5", 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

- Apache License, Version 2.0
  ([LICENSE-APACHE]LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license
  ([LICENSE-MIT]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.