X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2FDoom2DF.lpr;h=27b90a5055c008fb42df86589ec8480f44ed549a;hb=2f2f9c997a76f5394c4deb2fa7d54b99a6186c87;hp=450ab48cb38a96923436cf54517f2345c64f7f08;hpb=bf433af831d00c3287e3112097910ca74112195b;p=d2df-sdl.git diff --git a/src/game/Doom2DF.lpr b/src/game/Doom2DF.lpr index 450ab48..27b90a5 100644 --- a/src/game/Doom2DF.lpr +++ b/src/game/Doom2DF.lpr @@ -14,7 +14,7 @@ * 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} @@ -32,6 +32,9 @@ program Doom2DF; {$ENDIF} uses +{$IFDEF ANDROID} + ctypes, +{$ENDIF} {$IFDEF UNIX} cthreads, {$ENDIF} @@ -39,8 +42,9 @@ uses 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} @@ -89,7 +93,6 @@ 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_FMOD} fmod in '../lib/FMOD/fmod.pas', @@ -108,6 +111,9 @@ 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', @@ -118,6 +124,7 @@ uses fui_style in '../flexui/fui_style.pas', fui_flexlay in '../flexui/fui_flexlay.pas', fui_ctls in '../flexui/fui_ctls.pas', +{$ENDIF} ImagingTypes, Imaging, @@ -127,12 +134,42 @@ uses {$R *.res} {$ENDIF} +{$IFDEF ANDROID} +function SDL_main(argc: CInt; argv: PPChar): CInt; cdecl; +{$ENDIF ANDROID} + var f: Integer; noct: Boolean = false; + storage: String; //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 + begin + SDL_ShowSimpleMessageBox(SDL_MESSAGEBOX_ERROR, PChar('Invalid path'), PChar('Can''t chdir to ' + storage), nil); + result := 1; + exit + end; + SetEnvVar('TIMIDITY_CFG', 'timidity.cfg'); +{$ENDIF ANDROID} + for f := 1 to ParamCount do begin if ParamStr(f) = '--gdb' then noct := true @@ -169,4 +206,10 @@ begin end; end; e_DeinitLog(); + +{$IFDEF ANDROID} + result := 0; +end; // SDL_main +exports SDL_main; +{$ENDIF ANDROID} end.