CrDoom
CrDoom is a source port of Doom to the Crystal programming language. It has been manually translated from Managed Doom, with an intent to expand it with some experimental editing features later on.
How do I get set up?
Clone this repository, then run shards build
. This will pull the required libraries and build both CrDoom and
the make-pk3 utility. Once these are done, run ./bin/make-pk3 -b res/crdoom-pk3 -o crdoom.pk3
to generate the
required PK3 file.
You can run crdoom --help
to see a list of command line options. A lot of stuff is still broken, like proper wad
paths and 3d rendering, so don't expect too much for now. It's hard coded to expect Ultimate Doom for now until
the renderer/playsim is somewhat more stable.
License and Libraries Used
CrDoom is distributed under the GPLv3 license. It uses:
- CrSFML (zlib/libpng license)
- libremiliacr (GPLv3 license)
Development/Contributing
Style info
I use a slightly different style for my code and am somewhat anal retentive about it.
- Keep lines 118 characters or shorter. Obviously there are times you can't, but please try. Use 115 characters for Markdown files.
- Please use pascalCase for variable and method names. Use CamelCase for type names. Use UPPER_SNAKE_CASE for constants.
- The type name for exceptions end with Error. For example,
ExternalProgramError
.