From b55db3de3f8db2e7d30aec8bd2e54e812ccbd06e Mon Sep 17 00:00:00 2001 From: DeaDDooMER Date: Sun, 13 Oct 2019 20:48:18 +0300 Subject: [PATCH] update README. vampimg paths now are specified in Doom2DF.lpr --- README | 72 +++++++++++++++++++---------- android/README | 8 +--- src/game/Doom2DF.lpr | 84 ++++++++++++++++++++++++++++++++-- src/lib/vampimg/ZLib/dzlib.pas | 2 +- 4 files changed, 131 insertions(+), 35 deletions(-) diff --git a/README b/README index c8ab162..5640135 100644 --- a/README +++ b/README @@ -1,43 +1,66 @@ 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. +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.2; -* FMODEx >= 4.26.xx or SDL_mixer >= 2.0; +* FPC >= 3.0.4; * libenet >= 1.3.13; -* SDL >= 2.0. -Create the "tmp" and "bin" directories beforehand if they don't exist already. Then run - -cd src/game -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, 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. -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, miniupnpc.dll), -unless you choose to static link them (see below). +Create the "tmp" and "bin" directories and then run: + + cd src/game + fpc -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 SDL2_mixer 2.0.x + * -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 + Other: + * -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 + +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, miniupnpc.dll), unless you choose to static link them. Static Linking -------------- -See ( http://repo.or.cz/d2df-binlib.git ) repo for prebuild dynamic and static libraries. +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). +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 @@ -45,8 +68,9 @@ Then, you can use: 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: +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 diff --git a/android/README b/android/README index 2d89cb9..3b76d72 100644 --- a/android/README +++ b/android/README @@ -12,7 +12,7 @@ Requirements: * Android NDK >= r16b; * Open JDK >= 8; * FPC >= 3.0.4; -* SDL >= 2.0.7; +* SDL == 2.0.7; * SDL_mixer >= 2.0; * libenet >= 1.3.13. @@ -45,12 +45,6 @@ ppcrossarm \ -Tandroid \ -Cparmv7a \ -Cfvfpv3 \ - -Fi../lib/vampimg \ - -Fi../lib/vampimg/JpegLib \ - -Fi../lib/vampimg/ZLib \ - -Fu../lib/vampimg \ - -Fu../lib/vampimg/JpegLib \ - -Fu../lib/vampimg/ZLib \ -FU../../android/tmp \ -FE../../android/ass/lib/armeabi-v7a \ -Fl../../android/ass/lib/armeabi-v7a \ diff --git a/src/game/Doom2DF.lpr b/src/game/Doom2DF.lpr index 446518f..eb38f0e 100644 --- a/src/game/Doom2DF.lpr +++ b/src/game/Doom2DF.lpr @@ -182,9 +182,87 @@ uses fui_ctls in '../flexui/fui_ctls.pas', {$ENDIF} - ImagingTypes, - Imaging, - ImagingUtility; + ImagingDds in '../lib/vampimg/ImagingDds.pas', + ImagingFormats in '../lib/vampimg/ImagingFormats.pas', + ImagingPcx in '../lib/vampimg/ImagingPcx.pas', + ImagingColors in '../lib/vampimg/ImagingColors.pas', + ImagingNetworkGraphics in '../lib/vampimg/ImagingNetworkGraphics.pas', +// ImagingComponents in '../lib/vampimg/ImagingComponents.pas', + ImagingRadiance in '../lib/vampimg/ImagingRadiance.pas', + ImagingPortableMaps in '../lib/vampimg/ImagingPortableMaps.pas', + ImagingXpm in '../lib/vampimg/ImagingXpm.pas', + ImagingBitmap in '../lib/vampimg/ImagingBitmap.pas', + ImagingTypes in '../lib/vampimg/ImagingTypes.pas', + Imaging in '../lib/vampimg/Imaging.pas', + ImagingExtras in '../lib/vampimg/ImagingExtras.pas', + ImagingGif in '../lib/vampimg/ImagingGif.pas', + ImagingIO in '../lib/vampimg/ImagingIO.pas', + imjdhuff in '../lib/vampimg/JpegLib/imjdhuff.pas', + imjdmerge in '../lib/vampimg/JpegLib/imjdmerge.pas', + imjdapimin in '../lib/vampimg/JpegLib/imjdapimin.pas', + imjidctflt in '../lib/vampimg/JpegLib/imjidctflt.pas', + imjdsample in '../lib/vampimg/JpegLib/imjdsample.pas', + imjfdctint in '../lib/vampimg/JpegLib/imjfdctint.pas', + imjdcoefct in '../lib/vampimg/JpegLib/imjdcoefct.pas', + imjdmainct in '../lib/vampimg/JpegLib/imjdmainct.pas', + imjcmaster in '../lib/vampimg/JpegLib/imjcmaster.pas', + imjdcolor in '../lib/vampimg/JpegLib/imjdcolor.pas', + imjcphuff in '../lib/vampimg/JpegLib/imjcphuff.pas', + imjidctint in '../lib/vampimg/JpegLib/imjidctint.pas', + imjutils in '../lib/vampimg/JpegLib/imjutils.pas', + imjdmarker in '../lib/vampimg/JpegLib/imjdmarker.pas', + imjdmaster in '../lib/vampimg/JpegLib/imjdmaster.pas', + imjmorecfg in '../lib/vampimg/JpegLib/imjmorecfg.pas', + imjdct in '../lib/vampimg/JpegLib/imjdct.pas', + imjcdctmgr in '../lib/vampimg/JpegLib/imjcdctmgr.pas', + imjerror in '../lib/vampimg/JpegLib/imjerror.pas', + imjpeglib in '../lib/vampimg/JpegLib/imjpeglib.pas', + imjccoefct in '../lib/vampimg/JpegLib/imjccoefct.pas', + imjfdctfst in '../lib/vampimg/JpegLib/imjfdctfst.pas', + imjchuff in '../lib/vampimg/JpegLib/imjchuff.pas', + imjdinput in '../lib/vampimg/JpegLib/imjdinput.pas', + imjdapistd in '../lib/vampimg/JpegLib/imjdapistd.pas', + imjidctfst in '../lib/vampimg/JpegLib/imjidctfst.pas', + imjcsample in '../lib/vampimg/JpegLib/imjcsample.pas', + imjmemmgr in '../lib/vampimg/JpegLib/imjmemmgr.pas', + imjmemnobs in '../lib/vampimg/JpegLib/imjmemnobs.pas', + imjfdctflt in '../lib/vampimg/JpegLib/imjfdctflt.pas', + imjcmainct in '../lib/vampimg/JpegLib/imjcmainct.pas', + imjcprepct in '../lib/vampimg/JpegLib/imjcprepct.pas', + imjidctred in '../lib/vampimg/JpegLib/imjidctred.pas', + imjcomapi in '../lib/vampimg/JpegLib/imjcomapi.pas', +// imjidctasm in '../lib/vampimg/JpegLib/imjidctasm.pas', + imjcapimin in '../lib/vampimg/JpegLib/imjcapimin.pas', + imjquant1 in '../lib/vampimg/JpegLib/imjquant1.pas', + imjquant2 in '../lib/vampimg/JpegLib/imjquant2.pas', + imjcinit in '../lib/vampimg/JpegLib/imjcinit.pas', + imjdphuff in '../lib/vampimg/JpegLib/imjdphuff.pas', + imjcapistd in '../lib/vampimg/JpegLib/imjcapistd.pas', + imjinclude in '../lib/vampimg/JpegLib/imjinclude.pas', + imjccolor in '../lib/vampimg/JpegLib/imjccolor.pas', + imjcmarker in '../lib/vampimg/JpegLib/imjcmarker.pas', + imjcparam in '../lib/vampimg/JpegLib/imjcparam.pas', + imjddctmgr in '../lib/vampimg/JpegLib/imjddctmgr.pas', + imjdpostct in '../lib/vampimg/JpegLib/imjdpostct.pas', + imjdeferr in '../lib/vampimg/JpegLib/imjdeferr.pas', + ImagingCanvases in '../lib/vampimg/ImagingCanvases.pas', + iminffast in '../lib/vampimg/ZLib/iminffast.pas', + imzdeflate in '../lib/vampimg/ZLib/imzdeflate.pas', + imtrees in '../lib/vampimg/ZLib/imtrees.pas', + dzlib in '../lib/vampimg/ZLib/dzlib.pas', + impaszlib in '../lib/vampimg/ZLib/impaszlib.pas', + iminfcodes in '../lib/vampimg/ZLib/iminfcodes.pas', + iminfblock in '../lib/vampimg/ZLib/iminfblock.pas', + imzutil in '../lib/vampimg/ZLib/imzutil.pas', + imadler in '../lib/vampimg/ZLib/imadler.pas', + imzinflate in '../lib/vampimg/ZLib/imzinflate.pas', + iminfutil in '../lib/vampimg/ZLib/iminfutil.pas', + iminftrees in '../lib/vampimg/ZLib/iminftrees.pas', + ImagingJpeg in '../lib/vampimg/ImagingJpeg.pas', + ImagingClasses in '../lib/vampimg/ImagingClasses.pas', + ImagingPsd in '../lib/vampimg/ImagingPsd.pas', + ImagingTarga in '../lib/vampimg/ImagingTarga.pas', + ImagingUtility in '../lib/vampimg/ImagingUtility.pas'; {$IFDEF WINDOWS} {$R *.res} diff --git a/src/lib/vampimg/ZLib/dzlib.pas b/src/lib/vampimg/ZLib/dzlib.pas index 05e278d..337f310 100644 --- a/src/lib/vampimg/ZLib/dzlib.pas +++ b/src/lib/vampimg/ZLib/dzlib.pas @@ -41,7 +41,7 @@ unit dzlib; -{$I ImagingOptions.inc} +{$I ../ImagingOptions.inc} interface -- 2.29.2