Home

Awesome

piston-doom

This was primarily a test whether a doom port could be integrated into rust without much hassle (to later integrate with another platform).

The awesome doom port doomgeneric was used as a basis. The image is rendered and input read with piston.

piston-doom

Since this project was merely a test, running it isn't that polished. I developed this on linux and it should run on most distributions. It might run on windows as well, but I haven't tested it.


How to run this

Install rust

Clone this repo

Clone this repo with the doomgeneric submodule: $ git clone https://github.com/LinusCDE/piston-doom.git.
Go into the clone directory afterwards.

Get an IWAD file

This project expects two dependencies: The doomgeneric repo and a IWAD file named in a certain way. The easiest way is to get the doom1.wad (more details here). Pleace it into this repo and DON'T FORGET to make the name all uppercase (rename to DOOM1.WAD). Other files don't need this change:

Compile

This should be as easy as running $ cargo build --release. I'll automatically compile this rust project and also compile doomgeneric and link it statically into the rust binary. I used rust nightly. But stable (the default) should work as well.

Done

The finished binary should now be in target/release named piston-doom. Just run that or use $ cargo run to do it for you.

Please note that I'm not passing the cli arguments. So you can't specify -iwad /path/to/file.wad.


Missing features

Todos if you will. I'll probably never do these features for this test port. Most of these shouldn't be too much trouble to add though. Feel free to create a PR.