hedgewars/uPhysFSLayer.pas
changeset 8077 2ea5cde93abc
parent 8073 5a289ef40fdb
child 8080 a6fc5396b3d6
equal deleted inserted replaced
8076:5ee474476ae1 8077:2ea5cde93abc
     1 unit uPhysFSLayer;
     1 unit uPhysFSLayer;
     2 
     2 
     3 interface
     3 interface
     4 uses SDLh;
     4 uses SDLh, LuaPas;
     5 
     5 
     6 {$IFDEF ANDROID}
     6 {$IFDEF ANDROID}
     7     {$linklib physfs}
     7     {$linklib physfs}
     8 {$ELSE}
     8 {$ELSE}
     9     {$IFNDEF WIN32}
       
    10         {$linklib ../bin/libphysfs.a}
       
    11     {$ENDIF}
       
    12     {$IFDEF DARWIN}
     9     {$IFDEF DARWIN}
    13         {$LINKFRAMEWORK IOKit}
    10         {$LINKFRAMEWORK IOKit}
    14     {$ENDIF}
    11     {$ENDIF}
    15 {$ENDIF}
    12 {$ENDIF}
    16 
    13 
    19     PhysfsLibName = 'libphysfs';
    16     PhysfsLibName = 'libphysfs';
    20 {$ELSE}
    17 {$ELSE}
    21     {$IFDEF DARWIN}
    18     {$IFDEF DARWIN}
    22     PhysfsLibName = 'physfs';
    19     PhysfsLibName = 'physfs';
    23     {$ELSE}
    20     {$ELSE}
    24     PhysfsLibName = 'physfs.a';
    21     PhysfsLibName = 'physfs';
    25     {$ENDIF}
    22     {$ENDIF}
    26 {$ENDIF}
    23 {$ENDIF}
    27 
    24 
    28 procedure initModule;
    25 procedure initModule;
    29 procedure freeModule;
    26 procedure freeModule;
    39 procedure pfsReadLn(f: PFSFile; var s: shortstring);
    36 procedure pfsReadLn(f: PFSFile; var s: shortstring);
    40 function pfsBlockRead(f: PFSFile; buf: pointer; size: Int64): Int64;
    37 function pfsBlockRead(f: PFSFile; buf: pointer; size: Int64): Int64;
    41 function pfsEOF(f: PFSFile): boolean;
    38 function pfsEOF(f: PFSFile): boolean;
    42 
    39 
    43 function pfsExists(fname: shortstring): boolean;
    40 function pfsExists(fname: shortstring): boolean;
       
    41 
       
    42 function  physfsReader(L: Plua_State; f: PFSFile; sz: Psize_t) : PChar; cdecl; external PhysfsLibName;
       
    43 procedure physfsReaderSetBuffer(buf: pointer); cdecl; external PhysfsLibName;
    44 
    44 
    45 implementation
    45 implementation
    46 uses uUtils, uVariables;
    46 uses uUtils, uVariables;
    47 
    47 
    48 function PHYSFS_init(argv0: PChar) : LongInt; cdecl; external PhysfsLibName;
    48 function PHYSFS_init(argv0: PChar) : LongInt; cdecl; external PhysfsLibName;