GitHunt
DO

Doom2D/Doom2D-Forever

Doom2D Forever - A remake of the 1996 game Doom2D by Prikol Software with online multiplayer.

D2DF-SDL

Doom2D Forever ( http://repo.or.cz/d2df-sdl.git ) adapted for use with the
FreePascal Compiler and ported to SDL (SDL2).

Build

Requirements:

  • FPC >= 3.1.1;
  • libenet >= 1.3.13;

Create the tmp and bin directories and then run:

cd src/game
fpc -g -gl -O3 -FE../../bin -FU../../tmp Doom2DF.lpr

Additionally you can add the following options:
System driver:
* -dUSE_SDL2 Build with SDL 2.0.x
* -dUSE_SDL Build with SDL 1.2.x
* -dUSE_SYSSTUB Disable I/O management
Render driver:
* -dUSE_OPENGL Build with desktop OpenGL 2.x
* -dUSE_GLES1 Build with mobile OpenGL ES 1.1
* -dUSE_GLSTUB Disable rendering
Sound driver:
* -dUSE_FMOD Build with FMOD Ex (4.30.22, other versions may fail)
* -dUSE_SDLMIXER Build with SDL_mixer
* -dUSE_OPENAL Build with OpenAL 1.1
* -dUSE_SOUNDSTUB Disable sound management
Sound file drivers (OpenAL only):
* -dUSE_SDL2 Build with SDL 2.0.x for WAV support
* -dUSE_SDL Build with SDL 1.2.x for WAV support
* -dUSE_VORBIS Build with libvorbis
* -dUSE_FLUIDSYNTH Build with libfluidsynth
* -dUSE_MODPLUG Build with libmodplug
* -dUSE_XMP Build with linxmp
* -dUSE_MPG123 Build with libmpg123
* -dUSE_OPUS Build with libopus
* -dUSE_GME Build with libgme
Other:
* -dSDL2_NODPI Build for old libSDL2
* -dUSE_MINIUPNPC Build with MiniUPnPc for automatic server port
forwarding via UPnP
* -dENABLE_HOLMES Build with in-game map debugger
* -dHEADLESS Build a headless executable for dedicated servers

Run the game with --gdb when using a debugger to prevent it from eating
exceptions.

Windows binaries will require the appropriate DLLs (SDL2.dll, SDL2_mixer.dll or
FMODex.dll, ENet.dll, miniupnpc.dll) unless you choose to link them statically.

Static Linking

It is possible to link libraries statically for Windows builds. You can use:
-dENET_WINDOWS_STATIC -- static ENet
-dMINIUPNPC_WINDOWS_STATIC -- static MiniUPnPc
-dLIBJIT_WINDOWS_STATIC -- static LibJIT
-dOPENAL_WINDOWS_STATIC -- static OpenAL

Next ones make sense only for OpenAL-based builds:
-dMODPLUG_WINDOWS_STATIC -- static libmodplug
-dMPG123_WINDOWS_STATIC -- static libmpg123
-dVORBIS_WINDOWS_STATIC -- static libogg + libvorbis
-dOPUS_WINDOWS_STATIC -- static libogg + libopus
-dFLUIDSYNTH_WINDOWS_STATIC -- static FluidSynth
-dLIBGME_WINDOWS_STATIC -- static libgme (game-music-emu)
-dLIBXMP_WINDOWS_STATIC -- static libxmp

Don't forget to specify lib*.a location with -Fi<...>

Languages

Pascal92.5%C5.2%C++2.2%HTML0.1%Makefile0.0%

Contributors

GNU General Public License v3.0
Created November 28, 2012
Updated March 15, 2026
Doom2D/Doom2D-Forever | GitHunt