hedgewars/hwLibrary.pas
author unc0rr
Sun, 28 Sep 2014 00:49:04 +0400
branchqmlfrontend
changeset 10428 7c25297720f1
parent 10426 727a154cf784
child 10430 899a30018ede
permissions -rw-r--r--
More refactoring: move PoC preview getting code into flib
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4930
5d59bb58c365 fix issue 185 :|
koda
parents: 4929
diff changeset
     1
(*
5d59bb58c365 fix issue 185 :|
koda
parents: 4929
diff changeset
     2
 * Hedgewars, a free turn based strategy game
9998
736015b847e3 update copyright to 2014
sheepluva
parents: 9309
diff changeset
     3
 * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
4930
5d59bb58c365 fix issue 185 :|
koda
parents: 4929
diff changeset
     4
 *
5d59bb58c365 fix issue 185 :|
koda
parents: 4929
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
5d59bb58c365 fix issue 185 :|
koda
parents: 4929
diff changeset
     6
 * it under the terms of the GNU General Public License as published by
5d59bb58c365 fix issue 185 :|
koda
parents: 4929
diff changeset
     7
 * the Free Software Foundation; version 2 of the License
5d59bb58c365 fix issue 185 :|
koda
parents: 4929
diff changeset
     8
 *
5d59bb58c365 fix issue 185 :|
koda
parents: 4929
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
5d59bb58c365 fix issue 185 :|
koda
parents: 4929
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
5d59bb58c365 fix issue 185 :|
koda
parents: 4929
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
5d59bb58c365 fix issue 185 :|
koda
parents: 4929
diff changeset
    12
 * GNU General Public License for more details.
5d59bb58c365 fix issue 185 :|
koda
parents: 4929
diff changeset
    13
 *
5d59bb58c365 fix issue 185 :|
koda
parents: 4929
diff changeset
    14
 * You should have received a copy of the GNU General Public License
5d59bb58c365 fix issue 185 :|
koda
parents: 4929
diff changeset
    15
 * along with this program; if not, write to the Free Software
10108
c68cf030eded update FSF address. note: two sdl include files (by Sam Lantinga) still have the old FSF address in their copyright - but I ain't gonna touch their copyright headers
sheepluva
parents: 10017
diff changeset
    16
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
4930
5d59bb58c365 fix issue 185 :|
koda
parents: 4929
diff changeset
    17
 *)
2698
90585aba87ad objc/pascal finally working
koda
parents:
diff changeset
    18
6033
6bcc36225162 fix compiling for android, strip out all delphi code, objfpc ftw
koda
parents: 6027
diff changeset
    19
{$INCLUDE "options.inc"}
5452
3edc3e3b8cdc Created callbacks to give the frontend information of maxteams/hogs
Xeli
parents: 5166
diff changeset
    20
7048
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    21
(*
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    22
 * When engine is compiled as library this unit will export functions
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    23
 * as C declarations for convenient library usage in your application
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    24
 * and language of choice.
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    25
 *
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    26
 * See also: C declarations on Wikipedia
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    27
 *           http://en.wikipedia.org/wiki/X86_calling_conventions#cdecl
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    28
 *)
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    29
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    30
Library hwLibrary;
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    31
10414
50bcefec5bf6 Strip some HWLIBRARY ifdefs
unc0rr
parents: 10406
diff changeset
    32
uses hwengine
50bcefec5bf6 Strip some HWLIBRARY ifdefs
unc0rr
parents: 10406
diff changeset
    33
    , uTypes
50bcefec5bf6 Strip some HWLIBRARY ifdefs
unc0rr
parents: 10406
diff changeset
    34
    , uConsts
50bcefec5bf6 Strip some HWLIBRARY ifdefs
unc0rr
parents: 10406
diff changeset
    35
    , uVariables
50bcefec5bf6 Strip some HWLIBRARY ifdefs
unc0rr
parents: 10406
diff changeset
    36
    , uSound
50bcefec5bf6 Strip some HWLIBRARY ifdefs
unc0rr
parents: 10406
diff changeset
    37
    , uCommands
50bcefec5bf6 Strip some HWLIBRARY ifdefs
unc0rr
parents: 10406
diff changeset
    38
    , uUtils
50bcefec5bf6 Strip some HWLIBRARY ifdefs
unc0rr
parents: 10406
diff changeset
    39
    , uLocale
50bcefec5bf6 Strip some HWLIBRARY ifdefs
unc0rr
parents: 10406
diff changeset
    40
    {$IFDEF ANDROID}, jni{$ENDIF}
10406
b5fd52ac760f Basic layout of frontlib, some more sdl bindings
unc0rr
parents: 10175
diff changeset
    41
    , uFLTypes
10416
1c301054694d - Remove --port command
unc0rr
parents: 10414
diff changeset
    42
    , uFLGameConfig
1c301054694d - Remove --port command
unc0rr
parents: 10414
diff changeset
    43
    , uFLIPC
10424
4be6cd55f1cf - Get rid of engine's PathPrefix and UserPathPrefix
unc0rr
parents: 10416
diff changeset
    44
    , uPhysFSLayer
10416
1c301054694d - Remove --port command
unc0rr
parents: 10414
diff changeset
    45
    ;
7048
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    46
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    47
{$INCLUDE "config.inc"}
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    48
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    49
// retrieve protocol information
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    50
procedure HW_versionInfo(netProto: PLongInt; versionStr: PPChar); cdecl; export;
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    51
begin
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    52
    netProto^:= cNetProtoVersion;
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    53
    versionStr^:= cVersionString;
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    54
end;
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    55
9309
7e8f91634f80 engine compiles for ios again, but SDL bindings are outdated. Fix some warnings
koda
parents: 9080
diff changeset
    56
function HW_versionString: PChar; cdecl; export;
7e8f91634f80 engine compiles for ios again, but SDL bindings are outdated. Fix some warnings
koda
parents: 9080
diff changeset
    57
begin
7e8f91634f80 engine compiles for ios again, but SDL bindings are outdated. Fix some warnings
koda
parents: 9080
diff changeset
    58
    exit(cVersionString + '-r' + cRevisionString + ' (' + cHashString + ')');
7e8f91634f80 engine compiles for ios again, but SDL bindings are outdated. Fix some warnings
koda
parents: 9080
diff changeset
    59
end;
7e8f91634f80 engine compiles for ios again, but SDL bindings are outdated. Fix some warnings
koda
parents: 9080
diff changeset
    60
7048
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    61
// equivalent to esc+y; when closeFrontend = true the game exits after memory cleanup
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    62
procedure HW_terminate(closeFrontend: boolean); cdecl; export;
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    63
begin
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    64
    closeFrontend:= closeFrontend; // avoid hint
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    65
    ParseCommand('forcequit', true);
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    66
end;
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    67
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    68
function HW_getWeaponNameByIndex(whichone: LongInt): PChar; cdecl; export;
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    69
begin
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    70
    HW_getWeaponNameByIndex:= (str2pchar(trammo[Ammoz[TAmmoType(whichone+1)].NameId]));
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    71
end;
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    72
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    73
(*function HW_getWeaponCaptionByIndex(whichone: LongInt): PChar; cdecl; export;
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    74
begin
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    75
    HW_getWeaponCaptionByIndex:= (str2pchar(trammoc[Ammoz[TAmmoType(whichone+1)].NameId]));
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    76
end;
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    77
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    78
function HW_getWeaponDescriptionByIndex(whichone: LongInt): PChar; cdecl; export;
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    79
begin
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    80
    HW_getWeaponDescriptionByIndex:= (str2pchar(trammod[Ammoz[TAmmoType(whichone+1)].NameId]));
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    81
end;*)
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    82
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    83
function HW_getNumberOfWeapons: LongInt; cdecl; export;
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    84
begin
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    85
    HW_getNumberOfWeapons:= ord(high(TAmmoType));
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    86
end;
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    87
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    88
function HW_getMaxNumberOfHogs: LongInt; cdecl; export;
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    89
begin
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    90
    HW_getMaxNumberOfHogs:= cMaxHHIndex + 1;
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    91
end;
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    92
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    93
function HW_getMaxNumberOfTeams: LongInt; cdecl; export;
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    94
begin
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    95
    HW_getMaxNumberOfTeams:= cMaxTeams;
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    96
end;
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    97
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    98
procedure HW_memoryWarningCallback; cdecl; export;
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
    99
begin
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
   100
    ReleaseSound(false);
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
   101
end;
5452
3edc3e3b8cdc Created callbacks to give the frontend information of maxteams/hogs
Xeli
parents: 5166
diff changeset
   102
10424
4be6cd55f1cf - Get rid of engine's PathPrefix and UserPathPrefix
unc0rr
parents: 10416
diff changeset
   103
procedure flibInit(localPrefix, userPrefix: PChar); cdecl; export;
10416
1c301054694d - Remove --port command
unc0rr
parents: 10414
diff changeset
   104
begin
10424
4be6cd55f1cf - Get rid of engine's PathPrefix and UserPathPrefix
unc0rr
parents: 10416
diff changeset
   105
    initIPC;
4be6cd55f1cf - Get rid of engine's PathPrefix and UserPathPrefix
unc0rr
parents: 10416
diff changeset
   106
    uPhysFSLayer.initModule(localPrefix, userPrefix);
4be6cd55f1cf - Get rid of engine's PathPrefix and UserPathPrefix
unc0rr
parents: 10416
diff changeset
   107
end;
4be6cd55f1cf - Get rid of engine's PathPrefix and UserPathPrefix
unc0rr
parents: 10416
diff changeset
   108
4be6cd55f1cf - Get rid of engine's PathPrefix and UserPathPrefix
unc0rr
parents: 10416
diff changeset
   109
procedure flibFree; cdecl; export;
4be6cd55f1cf - Get rid of engine's PathPrefix and UserPathPrefix
unc0rr
parents: 10416
diff changeset
   110
begin
4be6cd55f1cf - Get rid of engine's PathPrefix and UserPathPrefix
unc0rr
parents: 10416
diff changeset
   111
    uPhysFSLayer.freemodule;
4be6cd55f1cf - Get rid of engine's PathPrefix and UserPathPrefix
unc0rr
parents: 10416
diff changeset
   112
    freeIPC;
10416
1c301054694d - Remove --port command
unc0rr
parents: 10414
diff changeset
   113
end;
1c301054694d - Remove --port command
unc0rr
parents: 10414
diff changeset
   114
6027
302408e45052 code working on ios now
koda
parents: 6025
diff changeset
   115
{$IFDEF ANDROID}
5452
3edc3e3b8cdc Created callbacks to give the frontend information of maxteams/hogs
Xeli
parents: 5166
diff changeset
   116
function JNI_HW_versionInfoNet(env: PJNIEnv; obj: JObject):JInt;cdecl;
3edc3e3b8cdc Created callbacks to give the frontend information of maxteams/hogs
Xeli
parents: 5166
diff changeset
   117
begin
6033
6bcc36225162 fix compiling for android, strip out all delphi code, objfpc ftw
koda
parents: 6027
diff changeset
   118
    env:= env; // avoid hint
6bcc36225162 fix compiling for android, strip out all delphi code, objfpc ftw
koda
parents: 6027
diff changeset
   119
    obj:= obj; // avoid hint
6bcc36225162 fix compiling for android, strip out all delphi code, objfpc ftw
koda
parents: 6027
diff changeset
   120
    JNI_HW_versionInfoNet:= cNetProtoVersion;
5452
3edc3e3b8cdc Created callbacks to give the frontend information of maxteams/hogs
Xeli
parents: 5166
diff changeset
   121
end;
3edc3e3b8cdc Created callbacks to give the frontend information of maxteams/hogs
Xeli
parents: 5166
diff changeset
   122
3edc3e3b8cdc Created callbacks to give the frontend information of maxteams/hogs
Xeli
parents: 5166
diff changeset
   123
function JNI_HW_versionInfoVersion(env: PJNIEnv; obj: JObject):JString; cdecl;
6033
6bcc36225162 fix compiling for android, strip out all delphi code, objfpc ftw
koda
parents: 6027
diff changeset
   124
var envderef : JNIEnv;
5452
3edc3e3b8cdc Created callbacks to give the frontend information of maxteams/hogs
Xeli
parents: 5166
diff changeset
   125
begin
6033
6bcc36225162 fix compiling for android, strip out all delphi code, objfpc ftw
koda
parents: 6027
diff changeset
   126
    obj:= obj; // avoid hint
6bcc36225162 fix compiling for android, strip out all delphi code, objfpc ftw
koda
parents: 6027
diff changeset
   127
    envderef:= @env;
6bcc36225162 fix compiling for android, strip out all delphi code, objfpc ftw
koda
parents: 6027
diff changeset
   128
    JNI_HW_versionInfoVersion := envderef^.NewStringUTF(env, PChar(cVersionString));
5452
3edc3e3b8cdc Created callbacks to give the frontend information of maxteams/hogs
Xeli
parents: 5166
diff changeset
   129
end;
3edc3e3b8cdc Created callbacks to give the frontend information of maxteams/hogs
Xeli
parents: 5166
diff changeset
   130
7508
763d3961400b Hedgeroid: Frantic scrabbling toward the deadline
Medo <smaxein@googlemail.com>
parents: 7500
diff changeset
   131
procedure JNI_HW_GenLandPreview(env: PJNIEnv; c: JClass; port: JInt); cdecl;
7500
6253cae96f21 engine: Added JNI-compatible function to start map generation
Medo <smaxein@googlemail.com>
parents: 7083
diff changeset
   132
begin
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
   133
    GenLandPreview(port);
7508
763d3961400b Hedgeroid: Frantic scrabbling toward the deadline
Medo <smaxein@googlemail.com>
parents: 7500
diff changeset
   134
end;
763d3961400b Hedgeroid: Frantic scrabbling toward the deadline
Medo <smaxein@googlemail.com>
parents: 7500
diff changeset
   135
6025
cac1d5601d7c reviewed the build system and parts of the previous merge, performed some code cleanup
koda
parents: 5452
diff changeset
   136
exports
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
   137
    JNI_HW_versionInfoNet name Java_Prefix+'HWversionInfoNetProto',
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
   138
    JNI_HW_versionInfoVersion name Java_Prefix+'HWversionInfoVersion',
7500
6253cae96f21 engine: Added JNI-compatible function to start map generation
Medo <smaxein@googlemail.com>
parents: 7083
diff changeset
   139
    JNI_HW_GenLandPreview name Java_Prefix + 'HWGenLandPreview',
5452
3edc3e3b8cdc Created callbacks to give the frontend information of maxteams/hogs
Xeli
parents: 5166
diff changeset
   140
    HW_getNumberOfweapons name Java_Prefix + 'HWgetNumberOfWeapons',
3edc3e3b8cdc Created callbacks to give the frontend information of maxteams/hogs
Xeli
parents: 5166
diff changeset
   141
    HW_getMaxNumberOfHogs name Java_Prefix + 'HWgetMaxNumberOfHogs',
6035
bdd0528ee8a6 Close a game without leaking memory. It should be noted that sending an SDL Quit event leaks memory
Xeli
parents: 6033
diff changeset
   142
    HW_getMaxNumberOfTeams name Java_Prefix + 'HWgetMaxNumberOfTeams',
7083
5339aba29571 unbreak android build
Xeli
parents: 7048
diff changeset
   143
    Game;
7048
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
   144
{$ELSE}
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
   145
exports
10175
c92668840ea8 Remove game/preview functions split in library mode, just let normal procedure run instead:
unc0rr
parents: 10108
diff changeset
   146
    RunEngine,
10426
727a154cf784 Some refactoring
unc0rr
parents: 10424
diff changeset
   147
    runQuickGame,
727a154cf784 Some refactoring
unc0rr
parents: 10424
diff changeset
   148
    getPreview,
10428
7c25297720f1 More refactoring: move PoC preview getting code into flib
unc0rr
parents: 10426
diff changeset
   149
    registerGUIMessagesCallback,
10416
1c301054694d - Remove --port command
unc0rr
parents: 10414
diff changeset
   150
    flibInit,
10424
4be6cd55f1cf - Get rid of engine's PathPrefix and UserPathPrefix
unc0rr
parents: 10416
diff changeset
   151
    flibFree,
7048
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
   152
    LoadLocaleWrapper,
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
   153
    HW_versionInfo,
9309
7e8f91634f80 engine compiles for ios again, but SDL bindings are outdated. Fix some warnings
koda
parents: 9080
diff changeset
   154
    HW_versionString,
7048
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
   155
    HW_terminate,
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
   156
    HW_getNumberOfWeapons,
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
   157
    HW_getMaxNumberOfHogs,
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
   158
    HW_getMaxNumberOfTeams,
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
   159
    HW_getWeaponNameByIndex,
0a4c88935902 the ios port runs again, although with a few things to sort out
koda
parents: 6700
diff changeset
   160
    HW_memoryWarningCallback;
5452
3edc3e3b8cdc Created callbacks to give the frontend information of maxteams/hogs
Xeli
parents: 5166
diff changeset
   161
{$ENDIF}
3edc3e3b8cdc Created callbacks to give the frontend information of maxteams/hogs
Xeli
parents: 5166
diff changeset
   162
4187
adb144a907aa remove last warnings from xcodeproj
koda
parents: 3464
diff changeset
   163
begin
2698
90585aba87ad objc/pascal finally working
koda
parents:
diff changeset
   164
end.