Skip to content

vegris/valor

Repository files navigation

Project Logo

A work in progress implementation of Heroes III Battle Mode written in Rust.

Screenshots

Screenshot: Harpy attacks Devil Screenshot: ArchAngel attacks ArchDevil

Screenshot: Armageddon Screenshot: ArchMage shoots BlackKnight

Setup

Requirements

  • Rust compiler

Any relatively recent stable version should work.

  • SDL2 libraries (SDL2, SDL2_mixer, SDL2_ttf)

Important: SDL3 (via sdl2-compat) is currently incompatible — graphics appear as black squares. You must use a real SDL2 installation.

  • Heroes of Might and Magic III

The engine is developed with the GoG Complete Edition, but a demo version is also verified to work with minor tweaks.

Configuration

  1. Copy config.default.ron to config.ron:
cp config.default.ron config.ron
  1. Open config.ron and adjust the following settings:
    • game_folder: Path to your Heroes 3 installation (where the .exe is located).
    • ttf_font: Path to a .ttf font file on your system (used for creature counts).

Building and running

Development build:

cargo build

Release (optimized) build:

cargo build --release

After compiling, the executable will be located in:

  • Development: ./target/debug/Valor
  • Release: ./target/release/Valor

Using the demo version

If you are using the demo version, you’ll need to adjust it's files for the engine to locate them.

  1. Rename files in Data folder to be capitalized lowercase:
    • Data/H3BITMAP.LOD -> Data/H3bitmap.lod
    • Data/H3SPRITE.LOD -> Data/H3sprite.lod
    • Data/HEROES3.SND -> Data/Heroes3.snd
  2. Rename MP3 folder to Mp3
  3. Make 3 copies of Mp3/COMBAT01.MP3 and name them COMBAT02.MP3, COMBAT03.MP3, COMBAT04.MP3

License

This project is licensed under the GNU General Public License v3.0.

About

Rust implementation of Heroes III battle mode

Topics

Resources

License

Stars

Watchers

Forks