descriptiona port of Doom 2D Forever to FPC/SDL
homepage URLhttp://doom2d.org
ownerfiggisfiddis@proton.me
last changeThu, 25 Apr 2024 19:15:18 +0000 (25 22:15 +0300)
content tags
add:
README
D2DF-SDL
---------

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

Building
---------

Requirements:
* FPC >= 3.0.4;
* 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 following options:
  System driver:
    * -dUSE_SDL         Build with SDL 1.2.x
    * -dUSE_SDL2        Build with SDL 2.0.x
    * -dUSE_SYSSTUB     Disable I/O management
  Render driver:
    * -dUSE_OPENGL      Build with desktop OpenGL 2.x
    * -dUSE_GLES1       Build with mobile OpenGLES 1.1
    * -dUSE_GLSTUB      Disable rendering
  Sound driver:
    * -dUSE_FMOD        Build with FMODEx 4.26.x
    * -dUSE_SDLMIXER    Build with SDL_mixer
    * -dUSE_OPENAL      Build with OpenAL 1.1
    * -dUSE_SOUNDSTUB   Disable sound management
  Sound file drivers (OpenAL only):
    * -dUSE_SDL         Build with SDL 1.2.x for WAV support
    * -dUSE_SDL2        Build with SDL 2.0.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 libminiupnpc for automatic server port
                        forwarding via UPNP
    * -dENABLE_HOLMES   Build with ingame 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 static link them.


Static Linking
--------------

See ( http://repo.or.cz/d2df-binlib.git ) repo for prebuilt dynamic and static
libraries.

It is now possible to link windoze LibJIT and ENet as static libs.

First, you need to clone ( http://repo.or.cz/d2df-binlib.git ).
Then, you can use:
  -dLIBJIT_WINDOZE_STATIC       -- static LibJIT
  -dLIBENET_WINDOZE_STATIC      -- static ENet
  -dLIBMINIUPNPC_WINDOZE_STATIC -- static MiniUPNPC
  -dVORBIS_WINDOZE_STATIC       -- static libogg/libvorbis (only in AL builds)
  -dOPUS_WINDOZE_STATIC         -- static libogg/libopus (only in AL builds)

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

I (ketmar) used mingw-gcc 7.1.0 to build static libs; some other .a libs were
taken directly from mingw. building libs is easy: just fire msys, install all
dependencies, and do:

  ./configure --enable-static --disable-shared && make

This should produce working .a library suitable for static linking.
shortlog
8 days ago DeaDDooMERsaveload: fix read/write unexisting valuemaster
11 days ago Dmitry D. ChernovLanguage: Change incorrect English translation of ...
2024-03-31 DeaDDooMERgame: fix warnings
2024-03-31 DeaDDooMERvampimg: fix warnings
2024-03-30 Dmitry D. ChernovGame: Enable sv_forwardports by default if UPnP is...
2024-03-26 Dmitry D. ChernovGame: Fix unintentional endian-sensitive I/O in a coupl...
2024-03-24 DeaDDooMERgeom: fix platforms
2024-03-22 DeaDDooMERgl: fix mysterious texture mess with some drivers on...
2024-03-21 DeaDDooMERgame: activate secrets only once
2024-03-21 DeaDDooMERsystem: automatically delete old logs
2024-03-21 DeaDDooMERnet: enable anim-effects in multiplayer
2024-03-20 DeaDDooMERdebug: force generate stackframes
2024-03-20 DeaDDooMERfix nil dereference when command `host` are used
2024-03-19 DeaDDooMERsound: allow to completelly disable sound
2024-03-18 Dmitry D. ChernovGame: Fix repeated use of the "Scale" caption in both... mob
2024-03-16 DeaDDooMERgeom: simplify sweepAABB (this also will fix crash...
...
heads
8 days ago master
6 weeks ago mob
8 months ago terminal
10 months ago renders_updated
2 years ago renders
4 years ago plavnota
4 years ago fbo
4 years ago buffers2
5 years ago pone
6 years ago buffers
6 years ago scripts