X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2FDoom2DF.lpr;h=0b62430ad3d7c369f4dcf485b6f4fbb65f8e1f67;hb=67c6f2778c699f242412be03e2b874d14a7d10c9;hp=4d9d2fa429172242dc2b106d38043792b3078958;hpb=5368f6638623f763633157cdd4920bf2cb66fce5;p=d2df-sdl.git diff --git a/src/game/Doom2DF.lpr b/src/game/Doom2DF.lpr index 4d9d2fa..0b62430 100644 --- a/src/game/Doom2DF.lpr +++ b/src/game/Doom2DF.lpr @@ -1,4 +1,4 @@ -(* 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 @@ -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,12 +32,25 @@ program Doom2DF; {$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, +{$IFDEF USE_NANOGL} + nanoGL in '../lib/nanogl/nanoGL.pas', +{$ELSE} GL, GLExt, +{$ENDIF} +{$IFDEF USE_MINIUPNPC} + miniupnpc in '../lib/miniupnpc/miniupnpc.pas', +{$ENDIF} SDL2 in '../lib/sdl2/sdl2.pas', {$IFDEF USE_SDLMIXER} SDL2_mixer in '../lib/sdl2/SDL2_mixer.pas', @@ -121,12 +134,33 @@ uses {$R *.res} {$ENDIF} +{$IFDEF ANDROID} +function SDL_main(argc: CInt; argv: PPChar): CInt; cdecl; +{$ENDIF ANDROID} + var f: Integer; noct: Boolean = false; //tfo: Text; begin SetExceptionMask([exInvalidOp, exDenormalized, exZeroDivide, exOverflow, exUnderflow, exPrecision]); //k8: fuck off, that's why + +{$IFDEF ANDROID} +{$I-} + e_SetSafeSlowLog(true); + Chdir(SDL_AndroidGetExternalStoragePath()); + if IOresult <> 0 then + begin + Chdir(SDL_AndroidGetInternalStoragePath()); + if IOresult <> 0 then + begin + e_WriteLog('Fuck! Cant chdir to any game directory :(', TMsgType.Fatal); + result := 1; + exit; + end; + end; +{$ENDIF ANDROID} + for f := 1 to ParamCount do begin if ParamStr(f) = '--gdb' then noct := true @@ -163,4 +197,10 @@ begin end; end; e_DeinitLog(); + +{$IFDEF ANDROID} + result := 0; +end; // SDL_main +exports SDL_main; +{$ENDIF ANDROID} end.