hedgewars/SDLh.pas
author unc0rr
Fri, 01 May 2009 09:01:44 +0000
changeset 2021 a591afb43768
parent 2017 7845c77c8d31
child 2152 a2811690da1b
permissions -rw-r--r--
Some changes in try to fix issue when you enter room with painted map, but frontend shows generated one (most probably bug is triggered by template filters) Untested.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
     1
(*
1066
1f1b3686a2b0 Update copyright headers a bit
unc0rr
parents: 945
diff changeset
     2
 * Hedgewars, a free turn based strategy game
883
07a568ba44e0 Update copyright info in source files headers
unc0rr
parents: 780
diff changeset
     3
 * Copyright (c) 2004-2008 Andrey Korotaev <unC0Rr@gmail.com>
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
     4
 *
183
57c2ef19f719 Relicense to GPL
unc0rr
parents: 174
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
57c2ef19f719 Relicense to GPL
unc0rr
parents: 174
diff changeset
     6
 * it under the terms of the GNU General Public License as published by
57c2ef19f719 Relicense to GPL
unc0rr
parents: 174
diff changeset
     7
 * the Free Software Foundation; version 2 of the License
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
     8
 *
183
57c2ef19f719 Relicense to GPL
unc0rr
parents: 174
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
57c2ef19f719 Relicense to GPL
unc0rr
parents: 174
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
57c2ef19f719 Relicense to GPL
unc0rr
parents: 174
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
57c2ef19f719 Relicense to GPL
unc0rr
parents: 174
diff changeset
    12
 * GNU General Public License for more details.
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    13
 *
183
57c2ef19f719 Relicense to GPL
unc0rr
parents: 174
diff changeset
    14
 * You should have received a copy of the GNU General Public License
57c2ef19f719 Relicense to GPL
unc0rr
parents: 174
diff changeset
    15
 * along with this program; if not, write to the Free Software
57c2ef19f719 Relicense to GPL
unc0rr
parents: 174
diff changeset
    16
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    17
 *)
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    18
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    19
unit SDLh;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    20
interface
753
40fc0deb388f Start conversion to OpenGL rendering
unc0rr
parents: 500
diff changeset
    21
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    22
{$IFDEF LINUX}
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    23
{$DEFINE UNIX}
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    24
{$ENDIF}
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    25
{$IFDEF FREEBSD}
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    26
{$DEFINE UNIX}
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    27
{$ENDIF}
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    28
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    29
{$IFDEF UNIX}
1903
64e56f19d6d6 Patch by koda
unc0rr
parents: 1880
diff changeset
    30
  {$IFNDEF DARWIN}
1556
3369f016b79d Patch for engine to successfully build on Mac OS X by Michael Schindler
unc0rr
parents: 1225
diff changeset
    31
    {$linklib c}
3369f016b79d Patch for engine to successfully build on Mac OS X by Michael Schindler
unc0rr
parents: 1225
diff changeset
    32
  {$ENDIF}
3369f016b79d Patch for engine to successfully build on Mac OS X by Michael Schindler
unc0rr
parents: 1225
diff changeset
    33
  {$linklib pthread}
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    34
{$ENDIF}
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    35
432
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
    36
{$PACKRECORDS C}
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    37
1819
17dac76954d1 Patch by koda to better support Mac OS X
unc0rr
parents: 1712
diff changeset
    38
{$IFDEF DARWIN}
1947
9b8bdee5db6c patch by koda
unc0rr
parents: 1916
diff changeset
    39
	  {$PASCALMAINNAME SDL_main}
1916
9c3d0e3df6bb patch by koda:
unc0rr
parents: 1906
diff changeset
    40
{$IFNDEF IPHONE}
1947
9b8bdee5db6c patch by koda
unc0rr
parents: 1916
diff changeset
    41
	  {$linkframework Cocoa}
9b8bdee5db6c patch by koda
unc0rr
parents: 1916
diff changeset
    42
	  {$linkframework SDL}
9b8bdee5db6c patch by koda
unc0rr
parents: 1916
diff changeset
    43
	  {$linkframework SDL_mixer}
9b8bdee5db6c patch by koda
unc0rr
parents: 1916
diff changeset
    44
	  {$linkframework SDL_net}
9b8bdee5db6c patch by koda
unc0rr
parents: 1916
diff changeset
    45
	  {$linkframework SDL_image}
9b8bdee5db6c patch by koda
unc0rr
parents: 1916
diff changeset
    46
	  {$linkframework SDL_ttf}
9b8bdee5db6c patch by koda
unc0rr
parents: 1916
diff changeset
    47
	  {$linkframework Vorbis}
9b8bdee5db6c patch by koda
unc0rr
parents: 1916
diff changeset
    48
	  {$linkframework Ogg}
9b8bdee5db6c patch by koda
unc0rr
parents: 1916
diff changeset
    49
	  {$linklib SDLmain}
9b8bdee5db6c patch by koda
unc0rr
parents: 1916
diff changeset
    50
	  {$linklib gcc}
1819
17dac76954d1 Patch by koda to better support Mac OS X
unc0rr
parents: 1712
diff changeset
    51
{$ENDIF}
1916
9c3d0e3df6bb patch by koda:
unc0rr
parents: 1906
diff changeset
    52
{$ENDIF}
1819
17dac76954d1 Patch by koda to better support Mac OS X
unc0rr
parents: 1712
diff changeset
    53
1997
cd66434351cf koda's patch
unc0rr
parents: 1947
diff changeset
    54
(*  SDL  *)
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    55
const {$IFDEF WIN32}
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    56
      SDLLibName = 'SDL.dll';
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    57
      {$ENDIF}
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    58
      {$IFDEF UNIX}
1556
3369f016b79d Patch for engine to successfully build on Mac OS X by Michael Schindler
unc0rr
parents: 1225
diff changeset
    59
	{$IFDEF DARWIN}
1819
17dac76954d1 Patch by koda to better support Mac OS X
unc0rr
parents: 1712
diff changeset
    60
	  SDLLibName = 'libSDL.a';
1556
3369f016b79d Patch for engine to successfully build on Mac OS X by Michael Schindler
unc0rr
parents: 1225
diff changeset
    61
	{$ELSE}
3369f016b79d Patch for engine to successfully build on Mac OS X by Michael Schindler
unc0rr
parents: 1225
diff changeset
    62
          SDLLibName = 'libSDL.so';
3369f016b79d Patch for engine to successfully build on Mac OS X by Michael Schindler
unc0rr
parents: 1225
diff changeset
    63
        {$ENDIF}
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    64
      {$ENDIF}
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    65
      SDL_SWSURFACE   = $00000000;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    66
      SDL_HWSURFACE   = $00000001;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    67
      SDL_ASYNCBLIT   = $00000004;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    68
      SDL_ANYFORMAT   = $10000000;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    69
      SDL_HWPALETTE   = $20000000;
358
236bbd12d4d9 - New Land Generator
unc0rr
parents: 351
diff changeset
    70
      SDL_DOUBLEBUF   = $40000000;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    71
      SDL_FULLSCREEN  = $80000000;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    72
      SDL_NOFRAME     = $00000020;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    73
      SDL_HWACCEL     = $00000100;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    74
      SDL_SRCCOLORKEY = $00001000;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    75
      SDL_RLEACCEL    = $00004000;
2017
7845c77c8d31 nemo's great patch:
unc0rr
parents: 1997
diff changeset
    76
      SDL_SRCALPHA    = $00010000;
945
4ead9cde4e14 - Start chat implementation: chat strings are on the screen
unc0rr
parents: 883
diff changeset
    77
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    78
      SDL_NOEVENT     = 0;
308
806c3b55500d Release mouse when keyboard focus lost
unc0rr
parents: 206
diff changeset
    79
      SDL_ACTIVEEVENT = 1;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    80
      SDL_KEYDOWN     = 2;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    81
      SDL_KEYUP       = 3;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    82
      SDL_QUITEV      = 12;
1120
eb5a9f86f9c6 Add ability to resize engine's window
unc0rr
parents: 1066
diff changeset
    83
      SDL_VIDEORESIZE = 16;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    84
308
806c3b55500d Release mouse when keyboard focus lost
unc0rr
parents: 206
diff changeset
    85
      SDL_APPINPUTFOCUS = 2;
806c3b55500d Release mouse when keyboard focus lost
unc0rr
parents: 206
diff changeset
    86
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    87
      SDL_INIT_VIDEO  = $00000020;
11
b64d67d222b9 Fix some issues with sound
unc0rr
parents: 4
diff changeset
    88
      SDL_INIT_AUDIO  = $00000010;
753
40fc0deb388f Start conversion to OpenGL rendering
unc0rr
parents: 500
diff changeset
    89
40fc0deb388f Start conversion to OpenGL rendering
unc0rr
parents: 500
diff changeset
    90
      SDL_GL_DOUBLEBUFFER = 5;
40fc0deb388f Start conversion to OpenGL rendering
unc0rr
parents: 500
diff changeset
    91
      SDL_OPENGL          = 2;
1120
eb5a9f86f9c6 Add ability to resize engine's window
unc0rr
parents: 1066
diff changeset
    92
      SDL_RESIZABLE       = $00000010;
754
94ac14829085 Some further work on switching to OpenGL rendering
unc0rr
parents: 753
diff changeset
    93
94ac14829085 Some further work on switching to OpenGL rendering
unc0rr
parents: 753
diff changeset
    94
      RMask = $FF;
94ac14829085 Some further work on switching to OpenGL rendering
unc0rr
parents: 753
diff changeset
    95
      GMask = $FF00;
94ac14829085 Some further work on switching to OpenGL rendering
unc0rr
parents: 753
diff changeset
    96
      BMask = $FF0000;
94ac14829085 Some further work on switching to OpenGL rendering
unc0rr
parents: 753
diff changeset
    97
      AMask = $FF000000;
94ac14829085 Some further work on switching to OpenGL rendering
unc0rr
parents: 753
diff changeset
    98
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    99
type PSDL_Rect = ^TSDL_Rect;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   100
     TSDL_Rect = record
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   101
                 x, y: SmallInt;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   102
                 w, h: Word;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   103
                 end;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   104
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   105
     TPoint = record
105
e7cb9bb4a9de - Fixed integer->longint
unc0rr
parents: 95
diff changeset
   106
              X: LongInt;
e7cb9bb4a9de - Fixed integer->longint
unc0rr
parents: 95
diff changeset
   107
              Y: LongInt;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   108
              end;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   109
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   110
     PSDL_PixelFormat = ^TSDL_PixelFormat;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   111
     TSDL_PixelFormat = record
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   112
                        palette: Pointer;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   113
                        BitsPerPixel : Byte;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   114
                        BytesPerPixel: Byte;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   115
                        Rloss : Byte;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   116
                        Gloss : Byte;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   117
                        Bloss : Byte;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   118
                        Aloss : Byte;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   119
                        Rshift: Byte;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   120
                        Gshift: Byte;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   121
                        Bshift: Byte;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   122
                        Ashift: Byte;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   123
                        RMask : Longword;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   124
                        GMask : Longword;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   125
                        BMask : Longword;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   126
                        AMask : Longword;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   127
                        colorkey: Longword;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   128
                        alpha : Byte;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   129
                        end;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   130
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   131
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   132
     PSDL_Surface = ^TSDL_Surface;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   133
     TSDL_Surface = record
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   134
                    flags : Longword;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   135
                    format: PSDL_PixelFormat;
432
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
   136
                    w, h  : LongInt;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   137
                    pitch : Word;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   138
                    pixels: Pointer;
432
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
   139
                    offset: LongInt;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   140
                    end;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   141
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   142
     PSDL_Color = ^TSDL_Color;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   143
     TSDL_Color = record
206
32fa6282efe2 Add workaround over freepascal bug (http://www.freepascal.org/mantis/view.php?id=7613)
unc0rr
parents: 202
diff changeset
   144
                  case byte of
32fa6282efe2 Add workaround over freepascal bug (http://www.freepascal.org/mantis/view.php?id=7613)
unc0rr
parents: 202
diff changeset
   145
                       0: (r: Byte;
32fa6282efe2 Add workaround over freepascal bug (http://www.freepascal.org/mantis/view.php?id=7613)
unc0rr
parents: 202
diff changeset
   146
                           g: Byte;
32fa6282efe2 Add workaround over freepascal bug (http://www.freepascal.org/mantis/view.php?id=7613)
unc0rr
parents: 202
diff changeset
   147
                           b: Byte;
32fa6282efe2 Add workaround over freepascal bug (http://www.freepascal.org/mantis/view.php?id=7613)
unc0rr
parents: 202
diff changeset
   148
                           unused: Byte;
32fa6282efe2 Add workaround over freepascal bug (http://www.freepascal.org/mantis/view.php?id=7613)
unc0rr
parents: 202
diff changeset
   149
                          );
32fa6282efe2 Add workaround over freepascal bug (http://www.freepascal.org/mantis/view.php?id=7613)
unc0rr
parents: 202
diff changeset
   150
                       1: (value: Longword);
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   151
                  end;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   152
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   153
     PSDL_RWops = ^TSDL_RWops;
105
e7cb9bb4a9de - Fixed integer->longint
unc0rr
parents: 95
diff changeset
   154
     TSeek = function( context: PSDL_RWops; offset: LongInt; whence: LongInt ): LongInt; cdecl;
e7cb9bb4a9de - Fixed integer->longint
unc0rr
parents: 95
diff changeset
   155
     TRead = function( context: PSDL_RWops; Ptr: Pointer; size: LongInt; maxnum : LongInt ): LongInt;  cdecl;
e7cb9bb4a9de - Fixed integer->longint
unc0rr
parents: 95
diff changeset
   156
     TWrite = function( context: PSDL_RWops; Ptr: Pointer; size: LongInt; num: LongInt ): LongInt; cdecl;
e7cb9bb4a9de - Fixed integer->longint
unc0rr
parents: 95
diff changeset
   157
     TClose = function( context: PSDL_RWops ): LongInt; cdecl;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   158
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   159
     TStdio = record
105
e7cb9bb4a9de - Fixed integer->longint
unc0rr
parents: 95
diff changeset
   160
              autoclose: LongInt;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   161
              fp: pointer;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   162
              end;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   163
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   164
     TMem = record
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   165
            base: PByte;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   166
            here: PByte;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   167
            stop: PByte;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   168
            end;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   169
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   170
     TUnknown = record
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   171
                data1: Pointer;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   172
                end;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   173
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   174
     TSDL_RWops = record
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   175
                  seek: TSeek;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   176
                  read: TRead;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   177
                  write: TWrite;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   178
                  close: TClose;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   179
                  type_: Longword;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   180
                  case Byte of
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   181
                       0: (stdio: TStdio);
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   182
                       1: (mem: TMem);
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   183
                       2: (unknown: TUnknown);
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   184
                       end;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   185
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   186
     TSDL_KeySym = record
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   187
                   scancode: Byte;
106
98cb6606bf67 Small fix for 64bit compatibility
unc0rr
parents: 105
diff changeset
   188
                   sym: Longword;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   189
                   modifier: Longword;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   190
                   unicode: Word;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   191
                   end;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   192
308
806c3b55500d Release mouse when keyboard focus lost
unc0rr
parents: 206
diff changeset
   193
     TSDL_ActiveEvent = record
806c3b55500d Release mouse when keyboard focus lost
unc0rr
parents: 206
diff changeset
   194
	                type_: byte;
1120
eb5a9f86f9c6 Add ability to resize engine's window
unc0rr
parents: 1066
diff changeset
   195
                    gain: byte;
eb5a9f86f9c6 Add ability to resize engine's window
unc0rr
parents: 1066
diff changeset
   196
                    state: byte;
eb5a9f86f9c6 Add ability to resize engine's window
unc0rr
parents: 1066
diff changeset
   197
                    end;
308
806c3b55500d Release mouse when keyboard focus lost
unc0rr
parents: 206
diff changeset
   198
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   199
     TSDL_KeyboardEvent = record
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   200
                          type_: Byte;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   201
                          which: Byte;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   202
                          state: Byte;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   203
                          keysym: TSDL_KeySym;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   204
                          end;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   205
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   206
     TSDL_QuitEvent = record
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   207
                      type_: Byte;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   208
                      end;
1120
eb5a9f86f9c6 Add ability to resize engine's window
unc0rr
parents: 1066
diff changeset
   209
	TSDL_ResizeEvent = record
eb5a9f86f9c6 Add ability to resize engine's window
unc0rr
parents: 1066
diff changeset
   210
			type_: Byte;
eb5a9f86f9c6 Add ability to resize engine's window
unc0rr
parents: 1066
diff changeset
   211
			w, h: LongInt;
eb5a9f86f9c6 Add ability to resize engine's window
unc0rr
parents: 1066
diff changeset
   212
			end;
eb5a9f86f9c6 Add ability to resize engine's window
unc0rr
parents: 1066
diff changeset
   213
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   214
     PSDL_Event = ^TSDL_Event;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   215
     TSDL_Event = record
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   216
                  case Byte of
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   217
                       SDL_NOEVENT: (type_: byte);
308
806c3b55500d Release mouse when keyboard focus lost
unc0rr
parents: 206
diff changeset
   218
                       SDL_ACTIVEEVENT: (active: TSDL_ActiveEvent);
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   219
                       SDL_KEYDOWN, SDL_KEYUP: (key: TSDL_KeyboardEvent);
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   220
                       SDL_QUITEV: (quit: TSDL_QuitEvent);
1120
eb5a9f86f9c6 Add ability to resize engine's window
unc0rr
parents: 1066
diff changeset
   221
                       SDL_VIDEORESIZE: (resize: TSDL_ResizeEvent);
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   222
                       end;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   223
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   224
     PByteArray = ^TByteArray;
316
57d50189ad86 Calculate land digest
unc0rr
parents: 308
diff changeset
   225
     TByteArray = array[0..65535] of Byte;
57d50189ad86 Calculate land digest
unc0rr
parents: 308
diff changeset
   226
     PLongWordArray = ^TLongWordArray;
57d50189ad86 Calculate land digest
unc0rr
parents: 308
diff changeset
   227
     TLongWordArray = array[0..16383] of LongWord;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   228
433
9f8f22094c0e AI thinks in separate thread
unc0rr
parents: 432
diff changeset
   229
     PSDL_Thread = Pointer;
9f8f22094c0e AI thinks in separate thread
unc0rr
parents: 432
diff changeset
   230
     PSDL_mutex = Pointer;
945
4ead9cde4e14 - Start chat implementation: chat strings are on the screen
unc0rr
parents: 883
diff changeset
   231
432
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
   232
function  SDL_Init(flags: Longword): LongInt; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   233
procedure SDL_Quit; cdecl; external SDLLibName;
432
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
   234
function  SDL_VideoDriverName(var namebuf; maxlen: LongInt): PChar; cdecl; external SDLLibName;
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
   235
procedure SDL_EnableUNICODE(enable: LongInt); cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   236
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   237
procedure SDL_Delay(msec: Longword); cdecl; external SDLLibName;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   238
function  SDL_GetTicks: Longword; cdecl; external SDLLibName;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   239
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   240
function  SDL_MustLock(Surface: PSDL_Surface): Boolean;
432
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
   241
function  SDL_LockSurface(Surface: PSDL_Surface): LongInt; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   242
procedure SDL_UnlockSurface(Surface: PSDL_Surface); cdecl; external SDLLibName;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   243
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   244
function  SDL_GetError: PChar; cdecl; external SDLLibName;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   245
432
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
   246
function  SDL_SetVideoMode(width, height, bpp: LongInt; flags: Longword): PSDL_Surface; cdecl; external SDLLibName;
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
   247
function  SDL_CreateRGBSurface(flags: Longword; Width, Height, Depth: LongInt; RMask, GMask, BMask, AMask: Longword): PSDL_Surface; cdecl; external SDLLibName;
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
   248
function  SDL_CreateRGBSurfaceFrom(pixels: Pointer; width, height, depth, pitch: LongInt; RMask, GMask, BMask, AMask: Longword): PSDL_Surface; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   249
procedure SDL_FreeSurface(Surface: PSDL_Surface); cdecl; external SDLLibName;
105
e7cb9bb4a9de - Fixed integer->longint
unc0rr
parents: 95
diff changeset
   250
function  SDL_SetColorKey(surface: PSDL_Surface; flag, key: Longword): LongInt; cdecl; external SDLLibName;
2017
7845c77c8d31 nemo's great patch:
unc0rr
parents: 1997
diff changeset
   251
function  SDL_SetAlpha(surface: PSDL_Surface; flag, key: Longword): LongInt; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   252
105
e7cb9bb4a9de - Fixed integer->longint
unc0rr
parents: 95
diff changeset
   253
function  SDL_UpperBlit(src: PSDL_Surface; srcrect: PSDL_Rect; dst: PSDL_Surface; dstrect: PSDL_Rect): LongInt; cdecl; external SDLLibName;
e7cb9bb4a9de - Fixed integer->longint
unc0rr
parents: 95
diff changeset
   254
function  SDL_FillRect(dst: PSDL_Surface; dstrect: PSDL_Rect; color: Longword): LongInt; cdecl; external SDLLibName;
e7cb9bb4a9de - Fixed integer->longint
unc0rr
parents: 95
diff changeset
   255
procedure SDL_UpdateRect(Screen: PSDL_Surface; x, y: LongInt; w, h: Longword); cdecl; external SDLLibName;
432
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
   256
function  SDL_Flip(Screen: PSDL_Surface): LongInt; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   257
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   258
procedure SDL_GetRGB(pixel: Longword; fmt: PSDL_PixelFormat; r, g, b: PByte); cdecl; external SDLLibName;
107
b08ce0293a51 - Many type fixes
unc0rr
parents: 106
diff changeset
   259
function  SDL_MapRGB(format: PSDL_PixelFormat; r, g, b: Byte): Longword; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   260
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   261
function  SDL_DisplayFormat(Surface: PSDL_Surface): PSDL_Surface; cdecl; external SDLLibName;
35
9367f246fb5f - New rope
unc0rr
parents: 11
diff changeset
   262
function  SDL_DisplayFormatAlpha(Surface: PSDL_Surface): PSDL_Surface; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   263
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   264
function  SDL_RWFromFile(filename, mode: PChar): PSDL_RWops; cdecl; external SDLLibName;
432
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
   265
function  SDL_SaveBMP_RW(surface: PSDL_Surface; dst: PSDL_RWops; freedst: LongInt): LongInt; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   266
105
e7cb9bb4a9de - Fixed integer->longint
unc0rr
parents: 95
diff changeset
   267
function  SDL_GetKeyState(numkeys: PLongInt): PByteArray; cdecl; external SDLLibName;
107
b08ce0293a51 - Many type fixes
unc0rr
parents: 106
diff changeset
   268
function  SDL_GetMouseState(x, y: PInteger): Byte; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   269
function  SDL_GetKeyName(key: Longword): PChar; cdecl; external SDLLibName;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   270
procedure SDL_WarpMouse(x, y: Word); cdecl; external SDLLibName;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   271
432
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
   272
function  SDL_PollEvent(event: PSDL_Event): LongInt; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   273
432
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
   274
function  SDL_ShowCursor(toggle: LongInt): LongInt; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   275
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   276
procedure SDL_WM_SetCaption(title: PChar; icon: PChar); cdecl; external SDLLibName;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   277
433
9f8f22094c0e AI thinks in separate thread
unc0rr
parents: 432
diff changeset
   278
function  SDL_CreateMutex: PSDL_mutex; cdecl; external SDLLibName;
9f8f22094c0e AI thinks in separate thread
unc0rr
parents: 432
diff changeset
   279
procedure SDL_DestroyMutex(mutex: PSDL_mutex); cdecl; external SDLLibName;
9f8f22094c0e AI thinks in separate thread
unc0rr
parents: 432
diff changeset
   280
function  SDL_LockMutex(mutex: PSDL_mutex): LongInt; cdecl; external SDLLibName name 'SDL_mutexP';
9f8f22094c0e AI thinks in separate thread
unc0rr
parents: 432
diff changeset
   281
function  SDL_UnlockMutex(mutex: PSDL_mutex): LongInt; cdecl; external SDLLibName name 'SDL_mutexV';
9f8f22094c0e AI thinks in separate thread
unc0rr
parents: 432
diff changeset
   282
753
40fc0deb388f Start conversion to OpenGL rendering
unc0rr
parents: 500
diff changeset
   283
function  SDL_GL_SetAttribute(attr: byte; value: LongInt): LongInt; cdecl; external SDLLibName;
40fc0deb388f Start conversion to OpenGL rendering
unc0rr
parents: 500
diff changeset
   284
procedure SDL_GL_SwapBuffers(); cdecl; external SDLLibName;
40fc0deb388f Start conversion to OpenGL rendering
unc0rr
parents: 500
diff changeset
   285
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   286
(*  TTF  *)
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   287
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   288
const {$IFDEF WIN32}
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   289
      SDL_TTFLibName = 'SDL_ttf.dll';
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   290
      {$ENDIF}
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   291
      {$IFDEF UNIX}
1556
3369f016b79d Patch for engine to successfully build on Mac OS X by Michael Schindler
unc0rr
parents: 1225
diff changeset
   292
	{$IFDEF DARWIN}
1819
17dac76954d1 Patch by koda to better support Mac OS X
unc0rr
parents: 1712
diff changeset
   293
	  SDL_TTFLibName = 'libSDL_ttf.a';
1556
3369f016b79d Patch for engine to successfully build on Mac OS X by Michael Schindler
unc0rr
parents: 1225
diff changeset
   294
	{$ELSE}
3369f016b79d Patch for engine to successfully build on Mac OS X by Michael Schindler
unc0rr
parents: 1225
diff changeset
   295
          SDL_TTFLibName = 'libSDL_ttf.so';
3369f016b79d Patch for engine to successfully build on Mac OS X by Michael Schindler
unc0rr
parents: 1225
diff changeset
   296
        {$ENDIF}
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   297
      {$ENDIF}
202
8603c0420461 Support font styles
unc0rr
parents: 201
diff changeset
   298
      TTF_STYLE_NORMAL = 0;
8603c0420461 Support font styles
unc0rr
parents: 201
diff changeset
   299
      TTF_STYLE_BOLD   = 1;
8603c0420461 Support font styles
unc0rr
parents: 201
diff changeset
   300
      TTF_STYLE_ITALIC = 2;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   301
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   302
type PTTF_Font = ^TTTF_font;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   303
     TTTF_Font = record
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   304
                 end;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   305
432
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
   306
function TTF_Init: LongInt; cdecl; external SDL_TTFLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   307
procedure TTF_Quit; cdecl; external SDL_TTFLibName;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   308
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   309
432
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
   310
function TTF_SizeUTF8(font: PTTF_Font; const text: PChar; var w, h: LongInt): LongInt; cdecl; external SDL_TTFLibName;
206
32fa6282efe2 Add workaround over freepascal bug (http://www.freepascal.org/mantis/view.php?id=7613)
unc0rr
parents: 202
diff changeset
   311
(* TSDL_Color -> Longword conversion is workaround over freepascal bug.
32fa6282efe2 Add workaround over freepascal bug (http://www.freepascal.org/mantis/view.php?id=7613)
unc0rr
parents: 202
diff changeset
   312
   See http://www.freepascal.org/mantis/view.php?id=7613 for details *)
32fa6282efe2 Add workaround over freepascal bug (http://www.freepascal.org/mantis/view.php?id=7613)
unc0rr
parents: 202
diff changeset
   313
function TTF_RenderUTF8_Solid(font: PTTF_Font; const text: PChar; fg: Longword): PSDL_Surface; cdecl; external SDL_TTFLibName;
32fa6282efe2 Add workaround over freepascal bug (http://www.freepascal.org/mantis/view.php?id=7613)
unc0rr
parents: 202
diff changeset
   314
function TTF_RenderUTF8_Blended(font: PTTF_Font; const text: PChar; fg: Longword): PSDL_Surface; cdecl; external SDL_TTFLibName;
945
4ead9cde4e14 - Start chat implementation: chat strings are on the screen
unc0rr
parents: 883
diff changeset
   315
function TTF_RenderUTF8_Shaded(font: PTTF_Font; const text: PChar; fg, bg: Longword): PSDL_Surface; cdecl; external SDL_TTFLibName;
206
32fa6282efe2 Add workaround over freepascal bug (http://www.freepascal.org/mantis/view.php?id=7613)
unc0rr
parents: 202
diff changeset
   316
432
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
   317
function TTF_OpenFont(const filename: PChar; size: LongInt): PTTF_Font; cdecl; external SDL_TTFLibName;
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
   318
procedure TTF_SetFontStyle(font: PTTF_Font; style: LongInt); cdecl; external SDL_TTFLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   319
1997
cd66434351cf koda's patch
unc0rr
parents: 1947
diff changeset
   320
(*  SDL_mixer  *)
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   321
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   322
const {$IFDEF WIN32}
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   323
      SDL_MixerLibName = 'SDL_mixer.dll';
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   324
      {$ENDIF}
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   325
      {$IFDEF UNIX}
1556
3369f016b79d Patch for engine to successfully build on Mac OS X by Michael Schindler
unc0rr
parents: 1225
diff changeset
   326
	{$IFDEF DARWIN}
1819
17dac76954d1 Patch by koda to better support Mac OS X
unc0rr
parents: 1712
diff changeset
   327
	  SDL_MixerLibName = 'libSDL_mixer.a';
1556
3369f016b79d Patch for engine to successfully build on Mac OS X by Michael Schindler
unc0rr
parents: 1225
diff changeset
   328
	{$ELSE}
3369f016b79d Patch for engine to successfully build on Mac OS X by Michael Schindler
unc0rr
parents: 1225
diff changeset
   329
          SDL_MixerLibName = 'libSDL_mixer.so';
3369f016b79d Patch for engine to successfully build on Mac OS X by Michael Schindler
unc0rr
parents: 1225
diff changeset
   330
	{$ENDIF}
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   331
      {$ENDIF}
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   332
174
0b2c5b22f644 Changeable volume
unc0rr
parents: 154
diff changeset
   333
const MIX_MAX_VOLUME = 128;
0b2c5b22f644 Changeable volume
unc0rr
parents: 154
diff changeset
   334
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   335
type PMixChunk = ^TMixChunk;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   336
     TMixChunk = record
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   337
                 allocated: Longword;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   338
                 abuf     : PByte;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   339
                 alen     : Longword;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   340
                 volume   : PByte;
106
98cb6606bf67 Small fix for 64bit compatibility
unc0rr
parents: 105
diff changeset
   341
                 end;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   342
     TMusic = (MUS_CMD, MUS_WAV, MUS_MOD, MUS_MID, MUS_OGG, MUS_MP3);
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   343
     TMix_Fading = (MIX_NO_FADING, MIX_FADING_OUT, MIX_FADING_IN);
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   344
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   345
     TMidiSong = record
105
e7cb9bb4a9de - Fixed integer->longint
unc0rr
parents: 95
diff changeset
   346
               samples : LongInt;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   347
               events  : pointer;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   348
               end;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   349
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   350
     TMusicUnion = record
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   351
        case Byte of
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   352
             0: ( midi : TMidiSong );
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   353
             1: ( ogg  : pointer);
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   354
             end;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   355
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   356
     PMixMusic = ^TMixMusic;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   357
     TMixMusic = record
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   358
                 end;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   359
105
e7cb9bb4a9de - Fixed integer->longint
unc0rr
parents: 95
diff changeset
   360
function  Mix_OpenAudio(frequency: LongInt; format: Word; channels: LongInt; chunksize: LongInt): LongInt; cdecl; external SDL_MixerLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   361
procedure Mix_CloseAudio; cdecl; external SDL_MixerLibName;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   362
174
0b2c5b22f644 Changeable volume
unc0rr
parents: 154
diff changeset
   363
function  Mix_Volume(channel: LongInt; volume: LongInt): LongInt; cdecl; external SDL_MixerLibName;
0b2c5b22f644 Changeable volume
unc0rr
parents: 154
diff changeset
   364
function  Mix_SetDistance(channel: LongInt; distance: Byte): LongInt;  cdecl; external SDL_MixerLibName;
105
e7cb9bb4a9de - Fixed integer->longint
unc0rr
parents: 95
diff changeset
   365
function  Mix_VolumeMusic(volume: LongInt): LongInt; cdecl; external SDL_MixerLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   366
174
0b2c5b22f644 Changeable volume
unc0rr
parents: 154
diff changeset
   367
function  Mix_AllocateChannels(numchans: LongInt): LongInt; cdecl; external SDL_MixerLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   368
procedure Mix_FreeChunk(chunk: PMixChunk); cdecl; external SDL_MixerLibName;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   369
procedure Mix_FreeMusic(music: PMixMusic); cdecl; external SDL_MixerLibName;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   370
105
e7cb9bb4a9de - Fixed integer->longint
unc0rr
parents: 95
diff changeset
   371
function  Mix_LoadWAV_RW(src: PSDL_RWops; freesrc: LongInt): PMixChunk; cdecl; external SDL_MixerLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   372
function  Mix_LoadMUS(const filename: PChar): PMixMusic; cdecl; external SDL_MixerLibName;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   373
105
e7cb9bb4a9de - Fixed integer->longint
unc0rr
parents: 95
diff changeset
   374
function  Mix_Playing(channel: LongInt): LongInt; cdecl; external SDL_MixerLibName;
e7cb9bb4a9de - Fixed integer->longint
unc0rr
parents: 95
diff changeset
   375
function  Mix_PlayingMusic: LongInt; cdecl; external SDL_MixerLibName;
1225
f882a92ef872 Play music in menu also, with fading effects when run game
unc0rr
parents: 1120
diff changeset
   376
function  Mix_FadeInMusic(music: PMixMusic; loops: LongInt; ms: LongInt): LongInt; cdecl; external SDL_MixerLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   377
105
e7cb9bb4a9de - Fixed integer->longint
unc0rr
parents: 95
diff changeset
   378
function  Mix_PlayChannelTimed(channel: LongInt; chunk: PMixChunk; loops: LongInt; ticks: LongInt): LongInt; cdecl; external SDL_MixerLibName;
e7cb9bb4a9de - Fixed integer->longint
unc0rr
parents: 95
diff changeset
   379
function  Mix_PlayMusic(music: PMixMusic; loops: LongInt): LongInt; cdecl; external SDL_MixerLibName;
1712
f5b916de40f0 Patch by nemo (polished by me)
unc0rr
parents: 1556
diff changeset
   380
function  Mix_PausedMusic(music: PMixMusic): LongInt; cdecl; external SDL_MixerLibName;
f5b916de40f0 Patch by nemo (polished by me)
unc0rr
parents: 1556
diff changeset
   381
function  Mix_PauseMusic(music: PMixMusic): LongInt; cdecl; external SDL_MixerLibName;
f5b916de40f0 Patch by nemo (polished by me)
unc0rr
parents: 1556
diff changeset
   382
function  Mix_ResumeMusic(music: PMixMusic): LongInt; cdecl; external SDL_MixerLibName;
105
e7cb9bb4a9de - Fixed integer->longint
unc0rr
parents: 95
diff changeset
   383
function  Mix_HaltChannel(channel: LongInt): LongInt; cdecl; external SDL_MixerLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   384
1997
cd66434351cf koda's patch
unc0rr
parents: 1947
diff changeset
   385
(*  SDL_image  *)
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   386
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   387
const {$IFDEF WIN32}
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   388
      SDL_ImageLibName = 'SDL_image.dll';
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   389
      {$ENDIF}
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   390
      {$IFDEF UNIX}
1556
3369f016b79d Patch for engine to successfully build on Mac OS X by Michael Schindler
unc0rr
parents: 1225
diff changeset
   391
	{$IFDEF DARWIN}
1819
17dac76954d1 Patch by koda to better support Mac OS X
unc0rr
parents: 1712
diff changeset
   392
	  SDL_ImageLibName = 'libSDL_image.a';
1556
3369f016b79d Patch for engine to successfully build on Mac OS X by Michael Schindler
unc0rr
parents: 1225
diff changeset
   393
	{$ELSE}
3369f016b79d Patch for engine to successfully build on Mac OS X by Michael Schindler
unc0rr
parents: 1225
diff changeset
   394
           SDL_ImageLibName = 'libSDL_image.so';
3369f016b79d Patch for engine to successfully build on Mac OS X by Michael Schindler
unc0rr
parents: 1225
diff changeset
   395
	{$ENDIF}
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   396
      {$ENDIF}
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   397
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   398
function IMG_Load(const _file: PChar): PSDL_Surface; cdecl; external SDL_ImageLibName;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   399
1997
cd66434351cf koda's patch
unc0rr
parents: 1947
diff changeset
   400
(*  SDL_net  *)
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   401
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   402
const {$IFDEF WIN32}
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   403
      SDL_NetLibName = 'SDL_net.dll';
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   404
      {$ENDIF}
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   405
      {$IFDEF UNIX}
1556
3369f016b79d Patch for engine to successfully build on Mac OS X by Michael Schindler
unc0rr
parents: 1225
diff changeset
   406
	{$IFDEF DARWIN}
1819
17dac76954d1 Patch by koda to better support Mac OS X
unc0rr
parents: 1712
diff changeset
   407
	  SDL_NetLibName = 'libSDL_net.a';
1556
3369f016b79d Patch for engine to successfully build on Mac OS X by Michael Schindler
unc0rr
parents: 1225
diff changeset
   408
	{$ELSE}
3369f016b79d Patch for engine to successfully build on Mac OS X by Michael Schindler
unc0rr
parents: 1225
diff changeset
   409
          SDL_NetLibName = 'libSDL_net.so';
3369f016b79d Patch for engine to successfully build on Mac OS X by Michael Schindler
unc0rr
parents: 1225
diff changeset
   410
	{$ENDIF}
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   411
      {$ENDIF}
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   412
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   413
type TIPAddress = record
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   414
                  host: Longword;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   415
                  port: Word;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   416
                  end;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   417
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   418
     PTCPSocket = ^TTCPSocket;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   419
     TTCPSocket = record
106
98cb6606bf67 Small fix for 64bit compatibility
unc0rr
parents: 105
diff changeset
   420
                  ready: LongInt;
105
e7cb9bb4a9de - Fixed integer->longint
unc0rr
parents: 95
diff changeset
   421
                  channel: LongInt;
106
98cb6606bf67 Small fix for 64bit compatibility
unc0rr
parents: 105
diff changeset
   422
                  remoteAddress: TIPaddress;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   423
                  localAddress: TIPaddress;
105
e7cb9bb4a9de - Fixed integer->longint
unc0rr
parents: 95
diff changeset
   424
                  sflag: LongInt;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   425
                  end;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   426
     PSDLNet_SocketSet = ^TSDLNet_SocketSet;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   427
     TSDLNet_SocketSet = record
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   428
                         numsockets,
105
e7cb9bb4a9de - Fixed integer->longint
unc0rr
parents: 95
diff changeset
   429
                         maxsockets: LongInt;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   430
                         sockets: PTCPSocket;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   431
                         end;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   432
105
e7cb9bb4a9de - Fixed integer->longint
unc0rr
parents: 95
diff changeset
   433
function SDLNet_Init: LongInt; cdecl; external SDL_NetLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   434
procedure SDLNet_Quit; cdecl; external SDL_NetLibName;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   435
105
e7cb9bb4a9de - Fixed integer->longint
unc0rr
parents: 95
diff changeset
   436
function SDLNet_AllocSocketSet(maxsockets: LongInt): PSDLNet_SocketSet; cdecl; external SDL_NetLibName;
e7cb9bb4a9de - Fixed integer->longint
unc0rr
parents: 95
diff changeset
   437
function SDLNet_ResolveHost(var address: TIPaddress; host: PCHar; port: Word): LongInt; cdecl; external SDL_NetLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   438
function SDLNet_TCP_Accept(server: PTCPsocket): PTCPSocket; cdecl; external SDL_NetLibName;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   439
function SDLNet_TCP_Open(var ip: TIPaddress): PTCPSocket; cdecl; external SDL_NetLibName;
105
e7cb9bb4a9de - Fixed integer->longint
unc0rr
parents: 95
diff changeset
   440
function SDLNet_TCP_Send(sock: PTCPsocket; data: Pointer; len: LongInt): LongInt; cdecl; external SDL_NetLibName;
e7cb9bb4a9de - Fixed integer->longint
unc0rr
parents: 95
diff changeset
   441
function SDLNet_TCP_Recv(sock: PTCPsocket; data: Pointer; len: LongInt): LongInt; cdecl; external SDL_NetLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   442
procedure SDLNet_TCP_Close(sock: PTCPsocket); cdecl; external SDL_NetLibName;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   443
procedure SDLNet_FreeSocketSet(_set: PSDLNet_SocketSet); cdecl; external SDL_NetLibName;
105
e7cb9bb4a9de - Fixed integer->longint
unc0rr
parents: 95
diff changeset
   444
function SDLNet_AddSocket(_set: PSDLNet_SocketSet; sock: PTCPSocket): LongInt; cdecl; external SDL_NetLibName;
e7cb9bb4a9de - Fixed integer->longint
unc0rr
parents: 95
diff changeset
   445
function SDLNet_CheckSockets(_set: PSDLNet_SocketSet; timeout: LongInt): LongInt; cdecl; external SDL_NetLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   446
459
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   447
procedure SDLNet_Write16(value: Word; buf: pointer);
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   448
procedure SDLNet_Write32(value: LongWord; buf: pointer);
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   449
function SDLNet_Read16(buf: pointer): Word;
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   450
function SDLNet_Read32(buf: pointer): LongWord;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   451
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   452
implementation
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   453
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   454
function SDL_MustLock(Surface: PSDL_Surface): Boolean;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   455
begin
432
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
   456
SDL_MustLock:= ( surface^.offset <> 0 )
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   457
       or(( surface^.flags and (SDL_HWSURFACE or SDL_ASYNCBLIT or SDL_RLEACCEL)) <> 0)
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   458
end;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   459
459
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   460
procedure SDLNet_Write16(value: Word; buf: pointer);
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   461
begin
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   462
  PByteArray(buf)^[1]:= value;
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   463
  PByteArray(buf)^[0]:= value shr 8
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   464
end;
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   465
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   466
procedure SDLNet_Write32(value: LongWord; buf: pointer);
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   467
begin
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   468
  PByteArray(buf)^[3]:= value;
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   469
  PByteArray(buf)^[2]:= value shr  8;
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   470
  PByteArray(buf)^[1]:= value shr 16;
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   471
  PByteArray(buf)^[0]:= value shr 24
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   472
end;
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   473
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   474
function SDLNet_Read16(buf: pointer): Word;
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   475
begin
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   476
  SDLNet_Read16:= PByteArray(buf)^[1] or
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   477
                 (PByteArray(buf)^[0] shl 8)
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   478
end;
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   479
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   480
function SDLNet_Read32(buf: pointer): LongWord;
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   481
begin
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   482
  SDLNet_Read32:=  PByteArray(buf)^[3] or
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   483
                  (PByteArray(buf)^[2] shl  8) or
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   484
                  (PByteArray(buf)^[1] shl 16) or
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   485
                  (PByteArray(buf)^[0] shl 24)
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   486
end;
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   487
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   488
end.