DEADSOFTWARE

Net: Buffer outgoing messages
[d2df-sdl.git] / README
diff --git a/README b/README
index 224a8ef7ded64fe110efe59831329bc3a924e840..c8ab1625a9eb0e2f627d56852e0304a5bf872353 100644 (file)
--- a/README
+++ b/README
@@ -16,10 +16,38 @@ Requirements:
 Create the "tmp" and "bin" directories beforehand if they don't exist already. Then run
 
 cd src/game
-fpc -dUSE_FMOD -O3 -Fi../lib/vampimg -Fi../lib/vampimg/JpegLib -Fi../lib/vampimg/ZLib -Fu../lib/vampimg -Fu../lib/vampimg/JpegLib -Fu../lib/vampimg/ZLib -FE../../bin -FU../../tmp Doom2DF.dpr
+fpc -O3 -Fi../lib/vampimg -Fi../lib/vampimg/JpegLib -Fi../lib/vampimg/ZLib -Fu../lib/vampimg -Fu../lib/vampimg/JpegLib -Fu../lib/vampimg/ZLib -FE../../bin -FU../../tmp Doom2DF.lpr
 
-If you want SDL_mixer instead of FMOD, replace -dUSE_FMOD with -dUSE_MIXER.
+If you want SDL_mixer instead of FMOD, add -dUSE_SDLMIXER.
+If you want the server to be able to forward ports via UPNP, add -dUSE_MINIUPNPC.
+If you want to debug game with Holmes, add -dENABLE_HOLMES (not supported in GLES mode).
+If you want to render graphics using OpenGL ES, add -dUSE_GLES1.
 To build a headless (no video/audio, for dedicated servers) executable, add -dHEADLESS.
-Add -g -dDEBUG to enable debugging features.
+Replace -O3 with -g -gl to enable debugging features. 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).
+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 (see below).
+
+
+Static Linking
+--------------
+
+See ( http://repo.or.cz/d2df-binlib.git ) repo for prebuild 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 ) (repo with prebuilt windoze libs).
+Then, you can use:
+  -dLIBJIT_WINDOZE_STATIC       -- static LibJIT
+  -dLIBENET_WINDOZE_STATIC      -- static ENet
+  -dLIBMINIUPNPC_WINDOZE_STATIC -- static MiniUPNPC
+
+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.