X-Git-Url: http://deadsoftware.ru/gitweb?p=d2df-sdl.git;a=blobdiff_plain;f=src%2Fgame%2FDoom2DF.lpr;h=4a8a26b78fa9ba58c6e91c6b9719e00680393a67;hp=27b90a5055c008fb42df86589ec8480f44ed549a;hb=9615ae96661aed9886424c75479d322f555627a6;hpb=2f2f9c997a76f5394c4deb2fa7d54b99a6186c87 diff --git a/src/game/Doom2DF.lpr b/src/game/Doom2DF.lpr index 27b90a5..4a8a26b 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, @@ -43,22 +34,75 @@ uses geom in '../shared/geom.pas', math, -{$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', e_log in '../engine/e_log.pas', 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', @@ -67,6 +111,7 @@ uses wadreader in '../shared/wadreader.pas', MAPDEF in '../shared/MAPDEF.pas', CONFIG in '../shared/CONFIG.pas', + g_base in 'g_base.pas', g_basic in 'g_basic.pas', g_console in 'g_console.pas', g_net in 'g_net.pas', @@ -93,7 +138,33 @@ uses g_triggers in 'g_triggers.pas', g_weapons in 'g_weapons.pas', g_window in 'g_window.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_graphics in 'opengl/r_graphics.pas', + r_items in 'opengl/r_items.pas', + r_map in 'opengl/r_map.pas', + r_monsters in 'opengl/r_monsters.pas', + r_netmaster in 'opengl/r_netmaster.pas', + r_panel in 'opengl/r_panel.pas', + r_player in 'opengl/r_player.pas', + r_playermodel in 'opengl/r_playermodel.pas', + r_weapons in 'opengl/r_weapons.pas', + r_window in 'opengl/r_window.pas', + {$IFDEF USE_FMOD} fmod in '../lib/FMOD/fmod.pas', fmoderrors in '../lib/FMOD/fmoderrors.pas', @@ -103,6 +174,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', @@ -125,10 +197,8 @@ uses fui_flexlay in '../flexui/fui_flexlay.pas', fui_ctls in '../flexui/fui_ctls.pas', {$ENDIF} - - ImagingTypes, - Imaging, - ImagingUtility; + {$I ../shared/vampimg.inc} + SysUtils; {$IFDEF WINDOWS} {$R *.res} @@ -141,41 +211,30 @@ function SDL_main(argc: CInt; argv: PPChar): CInt; cdecl; 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 -{$IFDEF ANDROID} -{$I-} - e_SetSafeSlowLog(true); - if SDL_AndroidGetExternalStorageState() <> 0 then - begin - storage := SDL_AndroidGetExternalStoragePath(); - Chdir(storage); - e_WriteLog('Use external storage: ' + storage, TMsgType.Notify) - end - else - begin - storage := SDL_AndroidGetInternalStoragePath(); - Chdir(storage); - e_WriteLog('Use internal storage: ' + storage, TMsgType.Notify) - end; - if IOresult <> 0 then + f := 1; + while f <= ParamCount do begin - SDL_ShowSimpleMessageBox(SDL_MESSAGEBOX_ERROR, PChar('Invalid path'), PChar('Can''t chdir to ' + storage), nil); - result := 1; - exit + 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; - SetEnvVar('TIMIDITY_CFG', 'timidity.cfg'); -{$ENDIF ANDROID} - for f := 1 to 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); - end; if noct then begin Main()