Download the executables here.
The goal of this project is to:
The code is based on gamesrc-ver-recreation and it took inspiration from Apogee Sound System, Apogee Sound System backed DMX wrapper, doomgeneric, Doom Vanille, Executor, FastDoom, Quake and Quake 2.
There is some assembly in the code that requires NASM.
To build Doom using only C code, look at the macro C_ONLY
.
To remove the visplanes limit, look at the macro REMOVE_LIMITS
.
Sound effects are supported through the PC speaker and Sound Blaster. And music is supported via Adlib, Sound Blaster, Pro Audio Spectrum, General MIDI, Wave Blaster and Sound Canvas.
There's no support for joystick and Logitech Cyberman.
The differences between compilers specific to the Doom source code are in a_blast.c
, a_inter.h
, a_multiv.c
, a_taskmn.c
, compiler.h
, d_main.c
and i_ibm.c
.
Search in those files for the pre-defined compiler macros and start hacking.
Compiler | Set environment variables | Compile code | Pre-defined compiler macro |
---|---|---|---|
DJGPP | setenvdj.bat |
compdj.bat |
__DJGPP__ |
Digital Mars | setenvdm.bat |
compdm.bat |
__DMC__ |
CC386 | setenvoc.bat |
compoc.bat |
__CCDL__ |
Watcom | setenvwc.bat |
compwc.bat |
__WATCOMC__ |