DEADSOFTWARE

Game: Use the animation flags in the map texture list only as a hint, not a prescription
[d2df-sdl.git] / README
1 D2DF-SDL
2 ---------
4 Doom 2D Forever ( http://repo.or.cz/d2df-sdl.git ) adapted for use with the
5 FreePascal Compiler and ported to SDL 2.0.
7 Building
8 ---------
10 Requirements:
11 * FPC >= 3.0.4;
12 * libenet >= 1.3.13;
14 Create the "tmp" and "bin" directories and then run:
16 cd src/game
17 fpc -O3 -FE../../bin -FU../../tmp Doom2DF.lpr
19 Additionally you can add following options:
20 System driver:
21 * -dUSE_SDL Build with SDL 1.2.x
22 * -dUSE_SDL2 Build with SDL 2.0.x
23 * -dUSE_SYSSTUB Disable I/O management
24 Render driver:
25 * -dUSE_OPENGL Build with desktop OpenGL 2.x
26 * -dUSE_GLES1 Build with mobile OpenGLES 1.1
27 * -dUSE_GLSTUB Disable rendering
28 Sound driver:
29 * -dUSE_FMOD Build with FMODEx 4.26.x
30 * -dUSE_SDLMIXER Build with SDL2_mixer 2.0.x
31 * -dUSE_OPENAL Build with OpenAL 1.1
32 * -dUSE_SOUNDSTUB Disable sound management
33 Sound file drivers (OpenAL only):
34 * -dUSE_SDL Build with SDL 1.2.x for WAV support
35 * -dUSE_SDL2 Build with SDL 2.0.x for WAV support
36 * -dUSE_VORBIS Build with libvorbis
37 * -dUSE_FLUIDSYNTH Build with libfluidsynth
38 * -dUSE_MODPLUG Build with libmodplug
39 * -dUSE_XMP Build with linxmp
40 * -dUSE_MPG123 Build with libmpg123
41 * -dUSE_OPUS Build with libopus
42 Other:
43 * -dUSE_MINIUPNPC Build with libminiupnpc for automatic server port
44 forwarding via UPNP
45 * -dENABLE_HOLMES Build with ingame map debugger
46 * -dHEADLESS Build a headless executable for dedicated servers
48 Replace -O3 with -g -gl to enable debugging features. Run the game with --gdb
49 when using a debugger to prevent it from eating exceptions.
51 Windows binaries will require the appropriate DLLs (SDL2.dll, SDL2_mixer.dll or
52 FMODEx.dll, ENet.dll, miniupnpc.dll), unless you choose to static link them.
55 Static Linking
56 --------------
58 See ( http://repo.or.cz/d2df-binlib.git ) repo for prebuilt dynamic and static
59 libraries.
61 It is now possible to link windoze LibJIT and ENet as static libs.
63 First, you need to clone ( http://repo.or.cz/d2df-binlib.git ).
64 Then, you can use:
65 -dLIBJIT_WINDOZE_STATIC -- static LibJIT
66 -dLIBENET_WINDOZE_STATIC -- static ENet
67 -dLIBMINIUPNPC_WINDOZE_STATIC -- static MiniUPNPC
69 Don't forget to specify lib*.a location with -Fi<...>
71 I (ketmar) used mingw-gcc 7.1.0 to build static libs; some other .a libs were
72 taken directly from mingw. building libs is easy: just fire msys, install all
73 dependencies, and do:
75 ./configure --enable-static --disable-shared && make
77 This should produce working .a library suitable for static linking.