hedgewars/SDLh.pas
changeset 2241 7992f7ba388d
parent 2240 7ce9e6b7be3b
child 2242 2e8251933b71
equal deleted inserted replaced
2240:7ce9e6b7be3b 2241:7992f7ba388d
    17  *)
    17  *)
    18 
    18 
    19 unit SDLh;
    19 unit SDLh;
    20 interface
    20 interface
    21 
    21 
    22 {$IFDEF LINUX}
    22 {$IFDEF LINUX or FREEBSD}
    23 {$DEFINE UNIX}
       
    24 {$ENDIF}
       
    25 {$IFDEF FREEBSD}
       
    26 {$DEFINE UNIX}
    23 {$DEFINE UNIX}
    27 {$ENDIF}
    24 {$ENDIF}
    28 
    25 
    29 {$IFDEF UNIX}
    26 {$IFDEF UNIX}
    30   {$IFNDEF DARWIN}
    27   {$IFNDEF DARWIN}
    52 (*  SDL  *)
    49 (*  SDL  *)
    53 const {$IFDEF WIN32}
    50 const {$IFDEF WIN32}
    54       SDLLibName = 'SDL.dll';
    51       SDLLibName = 'SDL.dll';
    55       {$ENDIF}
    52       {$ENDIF}
    56       {$IFDEF UNIX}
    53       {$IFDEF UNIX}
    57 	{$IFDEF DARWIN}
    54             {$IFDEF DARWIN}
    58 	  SDLLibName = 'SDL';
    55             SDLLibName = 'SDL';
    59 	{$ELSE}
    56             {$ELSE}
    60           SDLLibName = 'libSDL.so';
    57             SDLLibName = 'libSDL.so';
    61         {$ENDIF}
    58             {$ENDIF}
    62       {$ENDIF}
    59       {$ENDIF}
    63       SDL_SWSURFACE   = $00000000;
    60       SDL_SWSURFACE   = $00000000;
    64       SDL_HWSURFACE   = $00000001;
    61       SDL_HWSURFACE   = $00000001;
    65       SDL_SRCALPHA    = $00010000;
    62       SDL_SRCALPHA    = $00010000;
    66       SDL_INIT_VIDEO  = $00000020;
    63       SDL_INIT_VIDEO  = $00000020;
    67       SDL_INIT_AUDIO  = $00000010;
    64       SDL_INIT_AUDIO  = $00000010;
    68 
    65 
    69 	  {$IFDEF SDL13}
    66 {$IFDEF SDL13}
    70 	  SDL_ASYNCBLIT   = $08000000;
    67       SDL_ASYNCBLIT   = $08000000;
    71 	  SDL_ANYFORMAT   = $10000000;
    68       SDL_ANYFORMAT   = $10000000;
    72       SDL_HWPALETTE   = $00200000;
    69       SDL_HWPALETTE   = $00200000;
    73       SDL_DOUBLEBUF   = $00400000;
    70       SDL_DOUBLEBUF   = $00400000;
    74       SDL_FULLSCREEN  = $00800000;
    71       SDL_FULLSCREEN  = $00800000;
    75       SDL_HWACCEL     = $08000000;
    72       SDL_HWACCEL     = $08000000;
    76       SDL_SRCCOLORKEY = $00020000;
    73       SDL_SRCCOLORKEY = $00020000;
    77       SDL_RLEACCEL    = $08000000;
    74       SDL_RLEACCEL    = $08000000;
    78 	  SDL_NOFRAME     = $02000000;
    75       SDL_NOFRAME     = $02000000;
    79 	  SDL_OPENGL	  = $04000000;
    76       SDL_OPENGL      = $04000000;
    80       SDL_RESIZABLE   = $01000000;
    77       SDL_RESIZABLE   = $01000000;
    81 	  {$ELSE}
    78 {$ELSE}
    82 	  SDL_ASYNCBLIT   = $00000004;
    79       SDL_ASYNCBLIT   = $00000004;
    83 	  SDL_ANYFORMAT	  = $00100000;
    80       SDL_ANYFORMAT   = $00100000;
    84       SDL_HWPALETTE   = $20000000;
    81       SDL_HWPALETTE   = $20000000;
    85       SDL_DOUBLEBUF   = $40000000;
    82       SDL_DOUBLEBUF   = $40000000;
    86       SDL_FULLSCREEN  = $80000000;
    83       SDL_FULLSCREEN  = $80000000;
    87       SDL_HWACCEL     = $00000100;
    84       SDL_HWACCEL     = $00000100;
    88       SDL_SRCCOLORKEY = $00001000;
    85       SDL_SRCCOLORKEY = $00001000;
    89       SDL_RLEACCEL    = $00004000;
    86       SDL_RLEACCEL    = $00004000;
    90       SDL_NOFRAME     = $00000020;
    87       SDL_NOFRAME     = $00000020;
    91       SDL_OPENGL	  = $00000002;
    88       SDL_OPENGL      = $00000002;
    92       SDL_RESIZABLE   = $00000010;
    89       SDL_RESIZABLE   = $00000010;
    93 	  {$ENDIF}
    90 {$ENDIF}
    94 
    91 
    95       SDL_NOEVENT     = 0;
    92       SDL_NOEVENT     = 0;
    96       SDL_ACTIVEEVENT = 1;
    93       SDL_ACTIVEEVENT = 1;
    97       SDL_KEYDOWN     = 2;
    94       SDL_KEYDOWN     = 2;
    98       SDL_KEYUP       = 3;
    95       SDL_KEYUP       = 3;
   303 
   300 
   304 const {$IFDEF WIN32}
   301 const {$IFDEF WIN32}
   305       SDL_TTFLibName = 'SDL_ttf.dll';
   302       SDL_TTFLibName = 'SDL_ttf.dll';
   306       {$ENDIF}
   303       {$ENDIF}
   307       {$IFDEF UNIX}
   304       {$IFDEF UNIX}
   308 	{$IFDEF DARWIN}
   305             {$IFDEF DARWIN}
   309 	  SDL_TTFLibName = 'SDL_ttf';
   306             SDL_TTFLibName = 'SDL_ttf';
   310 	{$ELSE}
   307             {$ELSE}
   311           SDL_TTFLibName = 'libSDL_ttf.so';
   308             SDL_TTFLibName = 'libSDL_ttf.so';
   312         {$ENDIF}
   309             {$ENDIF}
   313       {$ENDIF}
   310       {$ENDIF}
   314       TTF_STYLE_NORMAL = 0;
   311       TTF_STYLE_NORMAL = 0;
   315       TTF_STYLE_BOLD   = 1;
   312       TTF_STYLE_BOLD   = 1;
   316       TTF_STYLE_ITALIC = 2;
   313       TTF_STYLE_ITALIC = 2;
   317 
   314 
   338 
   335 
   339 const {$IFDEF WIN32}
   336 const {$IFDEF WIN32}
   340       SDL_ImageLibName = 'SDL_image.dll';
   337       SDL_ImageLibName = 'SDL_image.dll';
   341       {$ENDIF}
   338       {$ENDIF}
   342       {$IFDEF UNIX}
   339       {$IFDEF UNIX}
   343 	{$IFDEF DARWIN}
   340             {$IFDEF DARWIN}
   344 	  SDL_ImageLibName = 'SDL_image';
   341             SDL_ImageLibName = 'SDL_image';
   345 	{$ELSE}
   342             {$ELSE}
   346            SDL_ImageLibName = 'libSDL_image.so';
   343             SDL_ImageLibName = 'libSDL_image.so';
   347 	{$ENDIF}
   344             {$ENDIF}
   348       {$ENDIF}
   345       {$ENDIF}
   349 
   346 
   350 function IMG_Load(const _file: PChar): PSDL_Surface; cdecl; external SDL_ImageLibName;
   347 function IMG_Load(const _file: PChar): PSDL_Surface; cdecl; external SDL_ImageLibName;
   351 
   348 
   352 (*  SDL_net  *)
   349 (*  SDL_net  *)
   353 
   350 
   354 const {$IFDEF WIN32}
   351 const {$IFDEF WIN32}
   355       SDL_NetLibName = 'SDL_net.dll';
   352       SDL_NetLibName = 'SDL_net.dll';
   356       {$ENDIF}
   353       {$ENDIF}
   357       {$IFDEF UNIX}
   354       {$IFDEF UNIX}
   358 	{$IFDEF DARWIN}
   355             {$IFDEF DARWIN}
   359 	  SDL_NetLibName = 'SDL_net';
   356 	        SDL_NetLibName = 'SDL_net';
   360 	{$ELSE}
   357             {$ELSE}
   361           SDL_NetLibName = 'libSDL_net.so';
   358             SDL_NetLibName = 'libSDL_net.so';
   362 	{$ENDIF}
   359             {$ENDIF}
   363       {$ENDIF}
   360       {$ENDIF}
   364 
   361 
   365 type TIPAddress = record
   362 type TIPAddress = record
   366                   host: Longword;
   363                   host: Longword;
   367                   port: Word;
   364                   port: Word;
   436                   (PByteArray(buf)^[1] shl 16) or
   433                   (PByteArray(buf)^[1] shl 16) or
   437                   (PByteArray(buf)^[0] shl 24)
   434                   (PByteArray(buf)^[0] shl 24)
   438 end;
   435 end;
   439 
   436 
   440 end.
   437 end.
       
   438