X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2FDoom2DF.lpr;h=eb38f0e4eb351e7a34e35a59da36c88a5d97d6bf;hb=b55db3de3f8db2e7d30aec8bd2e54e812ccbd06e;hp=3239be1e6fd0bd800cee48c3a34d2d362f708093;hpb=e90ae210fd2bdfd94690ef29bb747e556ab07c40;p=d2df-sdl.git diff --git a/src/game/Doom2DF.lpr b/src/game/Doom2DF.lpr index 3239be1..eb38f0e 100644 --- a/src/game/Doom2DF.lpr +++ b/src/game/Doom2DF.lpr @@ -2,8 +2,7 @@ * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. + * the Free Software Foundation, version 3 of the License ONLY. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -15,6 +14,7 @@ *) {$INCLUDE ../shared/a_modes.inc} {$IFDEF ANDROID}library{$ELSE}program{$ENDIF} Doom2DF; + {$IFNDEF HEADLESS} {$IFDEF WINDOWS} {$APPTYPE GUI} @@ -22,15 +22,6 @@ {$ENDIF} {$HINTS OFF} -{$IFDEF USE_SDLMIXER} - {$IFDEF USE_FMOD} - {$ERROR define only one of USE_SDLMIXER or USE_FMOD} - {$ENDIF} -{$ELSE} - {$UNDEF USE_SDLMIXER} - {$DEFINE USE_FMOD} -{$ENDIF} - uses {$IFDEF ANDROID} ctypes, @@ -48,10 +39,61 @@ uses {$IFDEF USE_MINIUPNPC} miniupnpc in '../lib/miniupnpc/miniupnpc.pas', {$ENDIF} + +{$IFDEF USE_SDL} + SDL, + {$IFDEF USE_SDLMIXER} + SDL_mixer, + {$ENDIF} +{$ENDIF} +{$IFDEF USE_SDL2} SDL2 in '../lib/sdl2/sdl2.pas', -{$IFDEF USE_SDLMIXER} - SDL2_mixer in '../lib/sdl2/SDL2_mixer.pas', + {$IFDEF USE_SDLMIXER} + SDL2_mixer in '../lib/sdl2/SDL2_mixer.pas', + {$ENDIF} +{$ENDIF} +{$IFDEF USE_SYSSTUB} + {$IFDEF USE_SDLMIXER} + SDL2 in '../lib/sdl2/sdl2.pas', + SDL2_mixer in '../lib/sdl2/SDL2_mixer.pas', + {$ENDIF} +{$ENDIF} + +{$IFDEF USE_OPENAL} + AL in '../lib/openal/al.pas', + e_soundfile in '../engine/e_soundfile.pas', + {$IF DEFINED(USE_SDL) OR DEFINED(USE_SDL2)} + e_soundfile_wav in '../engine/e_soundfile_wav.pas', + {$ENDIF} + {$IFDEF USE_VORBIS} + vorbis in '../lib/vorbis/vorbis.pas', + e_soundfile_vorbis in '../engine/e_soundfile_vorbis.pas', + {$ENDIF} + {$IFDEF USE_FLUIDSYNTH} + fluidsynth in '../lib/fluidsynth/fluidsynth.pas', + e_soundfile_fluid in '../engine/e_soundfile_fluid.pas', + {$ENDIF} + {$IFDEF USE_MODPLUG} + modplug in '../lib/modplug/modplug.pas', + e_soundfile_modplug in '../engine/e_soundfile_modplug.pas', + {$ENDIF} + {$IFDEF USE_XMP} + xmp in '../lib/xmp/xmp.pas', + e_soundfile_xmp in '../engine/e_soundfile_xmp.pas', + {$ENDIF} + {$IFDEF USE_MPG123} + mpg123 in '../lib/mpg123/mpg123.pas', + e_soundfile_mp3 in '../engine/e_soundfile_mp3.pas', + {$ENDIF} + {$IFDEF USE_OPUS} + opus in '../lib/opus/opus.pas', + e_soundfile_opus in '../engine/e_soundfile_opus.pas', + {$ENDIF} + {$IF DEFINED(USE_VORBIS) OR DEFINED(USE_OPUS)} + ogg in '../lib/vorbis/ogg.pas', // this has to come last because link order + {$ENDIF} {$ENDIF} + ENet in '../lib/enet/enet.pp', e_graphics in '../engine/e_graphics.pas', e_input in '../engine/e_input.pas', @@ -93,6 +135,19 @@ uses g_triggers in 'g_triggers.pas', g_weapons in 'g_weapons.pas', g_window in 'g_window.pas', +{$IFDEF USE_SYSSTUB} + g_system in 'stub/g_system.pas', + g_touch in 'stub/g_touch.pas', +{$ENDIF} +{$IFDEF USE_SDL} + g_system in 'sdl/g_system.pas', + g_touch in 'sdl/g_touch.pas', +{$ENDIF} +{$IFDEF USE_SDL2} + g_system in 'sdl2/g_system.pas', + g_touch in 'sdl2/g_touch.pas', +{$ENDIF} + SysUtils, {$IFDEF USE_FMOD} fmod in '../lib/FMOD/fmod.pas', @@ -103,6 +158,7 @@ uses xprofiler in '../shared/xprofiler.pas', binheap in '../shared/binheap.pas', hashtable in '../shared/hashtable.pas', + fhashdb in '../shared/fhashdb.pas', idpool in '../shared/idpool.pas', xparser in '../shared/xparser.pas', xdynrec in '../shared/xdynrec.pas', @@ -126,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} @@ -172,12 +306,32 @@ begin SetEnvVar('TIMIDITY_CFG', 'timidity.cfg'); {$ENDIF ANDROID} - for f := 1 to ParamCount do + f := 1; + while f <= ParamCount do + begin + case ParamStr(f) of + '--gdb': noct := true; + '--log': conbufDumpToStdOut := true; + '--safe-log': e_SetSafeSlowLog(true); + '--log-file': + if f + 1 <= ParamCount then + begin + Inc(f); + LogFileName := ParamStr(f) + end; + end; + Inc(f) + end; + + if LogFileName = '' then begin - if ParamStr(f) = '--gdb' then noct := true - else if ParamStr(f) = '--log' then conbufDumpToStdOut := true - else if ParamStr(f) = '--safe-log' then e_SetSafeSlowLog(true); +{$IFDEF HEADLESS} + LogFileName := 'Doom2DF_H.log'; +{$ELSE} + LogFileName := 'Doom2DF.log'; +{$ENDIF} end; + if noct then begin Main()