X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2FDoom2DF.lpr;h=4e24a451acc932c41fe58dcf543d85e66a34596e;hb=08dbf3067fe43d7e29b1ed748885f092822eb89e;hp=54df1940ba57a22617baa590dc4cf613a00319df;hpb=4fc69a0d6870ddee3209068ff157420fba52d21a;p=d2df-sdl.git diff --git a/src/game/Doom2DF.lpr b/src/game/Doom2DF.lpr index 54df194..4e24a45 100644 --- a/src/game/Doom2DF.lpr +++ b/src/game/Doom2DF.lpr @@ -1,9 +1,8 @@ -(* Copyright (C) DooM 2D:Forever Developers +(* Copyright (C) Doom 2D: Forever Developers * * 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 @@ -14,7 +13,8 @@ * along with this program. If not, see . *) {$INCLUDE ../shared/a_modes.inc} -program Doom2DF; +{$IFDEF ANDROID}library{$ELSE}program{$ENDIF} Doom2DF; + {$IFNDEF HEADLESS} {$IFDEF WINDOWS} {$APPTYPE GUI} @@ -22,26 +22,82 @@ program Doom2DF; {$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, +{$ENDIF} +{$IFDEF UNIX} + cthreads, +{$ENDIF} mempool in '../shared/mempool.pas', conbuf in '../shared/conbuf.pas', geom in '../shared/geom.pas', math, - GL, - GLExt, + +{$INCLUDE ../nogl/noGLuses.inc} + +{$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_GME} + gme in '../lib/gme/gme.pas', + e_soundfile_gme in '../engine/e_soundfile_gme.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', @@ -49,6 +105,7 @@ uses e_sound in '../engine/e_sound.pas', e_texture in '../engine/e_texture.pas', e_msg in '../engine/e_msg.pas', + e_res in '../engine/e_res.pas', utils in '../shared/utils.pas', xstreams in '../shared/xstreams.pas', sfs in '../sfs/sfs.pas', @@ -83,8 +140,26 @@ uses g_triggers in 'g_triggers.pas', g_weapons in 'g_weapons.pas', g_window in 'g_window.pas', - g_holmes in 'g_holmes.pas', - SysUtils, +{$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} + + r_console in 'opengl/r_console.pas', + r_game in 'opengl/r_game.pas', + r_gfx in 'opengl/r_gfx.pas', + r_items in 'opengl/r_items.pas', + r_map in 'opengl/r_map.pas', + r_panel in 'opengl/r_panel.pas', + {$IFDEF USE_FMOD} fmod in '../lib/FMOD/fmod.pas', fmoderrors in '../lib/FMOD/fmoderrors.pas', @@ -94,6 +169,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', @@ -102,36 +178,58 @@ uses g_panel in 'g_panel.pas', g_language in 'g_language.pas', +{$IFDEF ENABLE_HOLMES} + g_holmes in 'g_holmes.pas', + sdlcarcass in '../flexui/sdlcarcass.pas', //sdlstandalone in '../flexui/sdlstandalone.pas', + fui_wadread in '../flexui/fui_wadread.pas', fui_common in '../flexui/fui_common.pas', fui_gfx_gl in '../flexui/fui_gfx_gl.pas', fui_events in '../flexui/fui_events.pas', fui_style in '../flexui/fui_style.pas', fui_flexlay in '../flexui/fui_flexlay.pas', fui_ctls in '../flexui/fui_ctls.pas', - - ImagingTypes, - Imaging, - ImagingUtility; +{$ENDIF} + {$I ../shared/vampimg.inc} + SysUtils; {$IFDEF WINDOWS} {$R *.res} {$ENDIF} +{$IFDEF ANDROID} +function SDL_main(argc: CInt; argv: PPChar): CInt; cdecl; +{$ENDIF ANDROID} + var f: Integer; noct: Boolean = false; +{$IFDEF ANDROID} + storage: String; +{$ENDIF} //tfo: Text; begin SetExceptionMask([exInvalidOp, exDenormalized, exZeroDivide, exOverflow, exUnderflow, exPrecision]); //k8: fuck off, that's why - for f := 1 to ParamCount do + + f := 1; + while f <= ParamCount do 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); + 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 noct then begin Main() @@ -162,4 +260,10 @@ begin end; end; e_DeinitLog(); + +{$IFDEF ANDROID} + result := 0; +end; // SDL_main +exports SDL_main; +{$ENDIF ANDROID} end.