hedgewars/PascalExports.pas
author nemo
Tue, 04 May 2010 21:30:25 +0000
changeset 3424 5543340db663
parent 3405 8fdb08497bf1
child 3463 23c50be687a9
permissions -rw-r--r--
Add back in earlier lines, commented out
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2690
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
     1
(*
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
     2
 *  PascalExports.pas
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
     3
 *  hwengine
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
     4
 *
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
     5
 *  Created by Vittorio on 09/01/10.
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
     6
 *  Copyright 2009 __MyCompanyName__. All rights reserved.
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
     7
 *
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
     8
 *)
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
     9
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    10
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    11
{$INCLUDE "options.inc"}
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    12
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    13
unit PascalExports;
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    14
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    15
interface
3395
095273ad0e08 adding a somewhat working autoration for ipad (uStore.pas and uWorld.pas got mixed in the last two commits)
koda
parents: 3347
diff changeset
    16
uses uKeys, uConsole, uStore, GLunit, uMisc, uWorld, hwengine;
2690
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    17
2924
908851e59958 Engine:
smxx
parents: 2905
diff changeset
    18
{$INCLUDE "config.inc"}
2691
c0da3a98c01c initial support for engine protocol
koda
parents: 2690
diff changeset
    19
2690
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    20
implementation
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    21
2803
1f446fc5c8ec allow to compile engine as library with HWLIBRARY symbol
koda
parents: 2799
diff changeset
    22
{$IFDEF HWLIBRARY}
3063
0092dc37fbd6 reworked interaction of engine/frontend when closing
koda
parents: 3040
diff changeset
    23
// retrieve protocol information
3245
252be02536ab fix an error in passing strings between ObjC and Pascal
koda
parents: 3063
diff changeset
    24
procedure HW_versionInfo(netProto: PShortInt; versionStr: Ppchar); cdecl; export;
2691
c0da3a98c01c initial support for engine protocol
koda
parents: 2690
diff changeset
    25
begin
3245
252be02536ab fix an error in passing strings between ObjC and Pascal
koda
parents: 3063
diff changeset
    26
// http://bugs.freepascal.org/view.php?id=16156
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2924
diff changeset
    27
    if netProto <> nil then netProto^:= cNetProtoVersion;
3245
252be02536ab fix an error in passing strings between ObjC and Pascal
koda
parents: 3063
diff changeset
    28
    if versionStr <> nil then versionStr^:= cVersionString;
2691
c0da3a98c01c initial support for engine protocol
koda
parents: 2690
diff changeset
    29
end;
c0da3a98c01c initial support for engine protocol
koda
parents: 2690
diff changeset
    30
2690
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    31
procedure HW_click; cdecl; export;
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    32
begin
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2924
diff changeset
    33
    leftClick:= true;
2690
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    34
end;
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    35
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    36
procedure HW_zoomIn; cdecl; export;
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    37
begin
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2924
diff changeset
    38
    wheelUp:= true;
2690
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    39
end;
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    40
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    41
procedure HW_zoomOut; cdecl; export;
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    42
begin
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2924
diff changeset
    43
    wheelDown:= true;
2690
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    44
end;
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    45
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    46
procedure HW_zoomReset; cdecl; export;
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    47
begin
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2924
diff changeset
    48
    middleClick:= true;
2690
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    49
end;
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    50
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    51
procedure HW_ammoMenu; cdecl; export;
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    52
begin
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2924
diff changeset
    53
    rightClick:= true;
2690
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    54
end;
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    55
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    56
procedure HW_allKeysUp; cdecl; export;
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    57
begin
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2924
diff changeset
    58
    // set all keys to released
3040
3e7f4a30e18a Insert commit message here (to get along with palewolf)
koda
parents: 3015
diff changeset
    59
    uKeys.initModule;
2690
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    60
end;
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    61
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    62
procedure HW_walkLeft; cdecl; export;
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    63
begin
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2924
diff changeset
    64
    leftKey:= true;
2690
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    65
end;
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    66
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    67
procedure HW_walkRight; cdecl; export;
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    68
begin
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2924
diff changeset
    69
    rightKey:= true;
2690
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    70
end;
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    71
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    72
procedure HW_aimUp; cdecl; export;
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    73
begin
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2924
diff changeset
    74
    upKey:= true;
2690
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    75
end;
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    76
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    77
procedure HW_aimDown; cdecl; export;
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    78
begin
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2924
diff changeset
    79
    downKey:= true;
2690
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    80
end;
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    81
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    82
procedure HW_shoot; cdecl; export;
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    83
begin
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2924
diff changeset
    84
    spaceKey:= true;
2690
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    85
end;
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    86
3015
20a9c8160e82 add jump and backjump controls
koda
parents: 2948
diff changeset
    87
procedure HW_jump; cdecl; export;
20a9c8160e82 add jump and backjump controls
koda
parents: 2948
diff changeset
    88
begin
20a9c8160e82 add jump and backjump controls
koda
parents: 2948
diff changeset
    89
    enterKey:= true;
20a9c8160e82 add jump and backjump controls
koda
parents: 2948
diff changeset
    90
end;
20a9c8160e82 add jump and backjump controls
koda
parents: 2948
diff changeset
    91
20a9c8160e82 add jump and backjump controls
koda
parents: 2948
diff changeset
    92
procedure HW_backjump; cdecl; export;
20a9c8160e82 add jump and backjump controls
koda
parents: 2948
diff changeset
    93
begin
20a9c8160e82 add jump and backjump controls
koda
parents: 2948
diff changeset
    94
    backspaceKey:= true;
20a9c8160e82 add jump and backjump controls
koda
parents: 2948
diff changeset
    95
end;
20a9c8160e82 add jump and backjump controls
koda
parents: 2948
diff changeset
    96
2754
ad4f81fbfb76 touchinput works, invisible buttons added and initial support for chat
koda
parents: 2716
diff changeset
    97
procedure HW_chat; cdecl; export;
ad4f81fbfb76 touchinput works, invisible buttons added and initial support for chat
koda
parents: 2716
diff changeset
    98
begin
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2924
diff changeset
    99
    chatAction:= true;
2754
ad4f81fbfb76 touchinput works, invisible buttons added and initial support for chat
koda
parents: 2716
diff changeset
   100
end;
ad4f81fbfb76 touchinput works, invisible buttons added and initial support for chat
koda
parents: 2716
diff changeset
   101
ad4f81fbfb76 touchinput works, invisible buttons added and initial support for chat
koda
parents: 2716
diff changeset
   102
procedure HW_tab; cdecl; export;
ad4f81fbfb76 touchinput works, invisible buttons added and initial support for chat
koda
parents: 2716
diff changeset
   103
begin
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2924
diff changeset
   104
    switchAction:= true;
2754
ad4f81fbfb76 touchinput works, invisible buttons added and initial support for chat
koda
parents: 2716
diff changeset
   105
end;
ad4f81fbfb76 touchinput works, invisible buttons added and initial support for chat
koda
parents: 2716
diff changeset
   106
2805
36a8cebb91e8 new menupage ingame for common actions
koda
parents: 2803
diff changeset
   107
procedure HW_pause; cdecl; export;
36a8cebb91e8 new menupage ingame for common actions
koda
parents: 2803
diff changeset
   108
begin
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2924
diff changeset
   109
    pauseAction:= true;
2805
36a8cebb91e8 new menupage ingame for common actions
koda
parents: 2803
diff changeset
   110
end;
36a8cebb91e8 new menupage ingame for common actions
koda
parents: 2803
diff changeset
   111
3347
5d0ac8197eb7 camera panning ftw
koda
parents: 3245
diff changeset
   112
procedure HW_cursorUp(coefficient:LongInt); cdecl; export;
5d0ac8197eb7 camera panning ftw
koda
parents: 3245
diff changeset
   113
begin
5d0ac8197eb7 camera panning ftw
koda
parents: 3245
diff changeset
   114
    coeff:= coefficient;
5d0ac8197eb7 camera panning ftw
koda
parents: 3245
diff changeset
   115
    cursorUp:= true;
5d0ac8197eb7 camera panning ftw
koda
parents: 3245
diff changeset
   116
end;
5d0ac8197eb7 camera panning ftw
koda
parents: 3245
diff changeset
   117
5d0ac8197eb7 camera panning ftw
koda
parents: 3245
diff changeset
   118
procedure HW_cursorDown(coefficient:LongInt); cdecl; export;
2690
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
   119
begin
3347
5d0ac8197eb7 camera panning ftw
koda
parents: 3245
diff changeset
   120
    coeff:= coefficient;
5d0ac8197eb7 camera panning ftw
koda
parents: 3245
diff changeset
   121
    cursorDown:= true;
5d0ac8197eb7 camera panning ftw
koda
parents: 3245
diff changeset
   122
end;
2690
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
   123
3347
5d0ac8197eb7 camera panning ftw
koda
parents: 3245
diff changeset
   124
procedure HW_cursorLeft(coefficient:LongInt); cdecl; export;
5d0ac8197eb7 camera panning ftw
koda
parents: 3245
diff changeset
   125
begin
5d0ac8197eb7 camera panning ftw
koda
parents: 3245
diff changeset
   126
    coeff:= coefficient;
5d0ac8197eb7 camera panning ftw
koda
parents: 3245
diff changeset
   127
    cursorLeft:= true;
5d0ac8197eb7 camera panning ftw
koda
parents: 3245
diff changeset
   128
end;
5d0ac8197eb7 camera panning ftw
koda
parents: 3245
diff changeset
   129
5d0ac8197eb7 camera panning ftw
koda
parents: 3245
diff changeset
   130
procedure HW_cursorRight(coefficient:LongInt); cdecl; export;
5d0ac8197eb7 camera panning ftw
koda
parents: 3245
diff changeset
   131
begin
5d0ac8197eb7 camera panning ftw
koda
parents: 3245
diff changeset
   132
    coeff:= coefficient;
5d0ac8197eb7 camera panning ftw
koda
parents: 3245
diff changeset
   133
    cursorRight:= true;
2690
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
   134
end;
3063
0092dc37fbd6 reworked interaction of engine/frontend when closing
koda
parents: 3040
diff changeset
   135
0092dc37fbd6 reworked interaction of engine/frontend when closing
koda
parents: 3040
diff changeset
   136
procedure HW_terminate(closeFrontend: boolean); cdecl; export;
0092dc37fbd6 reworked interaction of engine/frontend when closing
koda
parents: 3040
diff changeset
   137
begin
0092dc37fbd6 reworked interaction of engine/frontend when closing
koda
parents: 3040
diff changeset
   138
    isTerminated:= true;
0092dc37fbd6 reworked interaction of engine/frontend when closing
koda
parents: 3040
diff changeset
   139
    if closeFrontend then alsoShutdownFrontend:= true;
0092dc37fbd6 reworked interaction of engine/frontend when closing
koda
parents: 3040
diff changeset
   140
end;
3395
095273ad0e08 adding a somewhat working autoration for ipad (uStore.pas and uWorld.pas got mixed in the last two commits)
koda
parents: 3347
diff changeset
   141
095273ad0e08 adding a somewhat working autoration for ipad (uStore.pas and uWorld.pas got mixed in the last two commits)
koda
parents: 3347
diff changeset
   142
procedure HW_setLandscape(landscape: boolean); cdecl; export;
3405
8fdb08497bf1 js' patch that restores Vsync on snow leopard
koda
parents: 3395
diff changeset
   143
var tmp:LongInt;
3395
095273ad0e08 adding a somewhat working autoration for ipad (uStore.pas and uWorld.pas got mixed in the last two commits)
koda
parents: 3347
diff changeset
   144
begin
095273ad0e08 adding a somewhat working autoration for ipad (uStore.pas and uWorld.pas got mixed in the last two commits)
koda
parents: 3347
diff changeset
   145
    if landscape then
095273ad0e08 adding a somewhat working autoration for ipad (uStore.pas and uWorld.pas got mixed in the last two commits)
koda
parents: 3347
diff changeset
   146
    begin
095273ad0e08 adding a somewhat working autoration for ipad (uStore.pas and uWorld.pas got mixed in the last two commits)
koda
parents: 3347
diff changeset
   147
        rotationQt:= -90;
095273ad0e08 adding a somewhat working autoration for ipad (uStore.pas and uWorld.pas got mixed in the last two commits)
koda
parents: 3347
diff changeset
   148
        uStore.wScreen:= cScreenWidth;
095273ad0e08 adding a somewhat working autoration for ipad (uStore.pas and uWorld.pas got mixed in the last two commits)
koda
parents: 3347
diff changeset
   149
        uStore.hScreen:= cScreenHeight;
3405
8fdb08497bf1 js' patch that restores Vsync on snow leopard
koda
parents: 3395
diff changeset
   150
        uWorld.wScreen:= cScreenWidth;
8fdb08497bf1 js' patch that restores Vsync on snow leopard
koda
parents: 3395
diff changeset
   151
        uWorld.hScreen:= cScreenHeight;
3395
095273ad0e08 adding a somewhat working autoration for ipad (uStore.pas and uWorld.pas got mixed in the last two commits)
koda
parents: 3347
diff changeset
   152
    end
095273ad0e08 adding a somewhat working autoration for ipad (uStore.pas and uWorld.pas got mixed in the last two commits)
koda
parents: 3347
diff changeset
   153
    else
095273ad0e08 adding a somewhat working autoration for ipad (uStore.pas and uWorld.pas got mixed in the last two commits)
koda
parents: 3347
diff changeset
   154
    begin
095273ad0e08 adding a somewhat working autoration for ipad (uStore.pas and uWorld.pas got mixed in the last two commits)
koda
parents: 3347
diff changeset
   155
        rotationQt:= 270;
095273ad0e08 adding a somewhat working autoration for ipad (uStore.pas and uWorld.pas got mixed in the last two commits)
koda
parents: 3347
diff changeset
   156
        uStore.wScreen:= cScreenHeight;
095273ad0e08 adding a somewhat working autoration for ipad (uStore.pas and uWorld.pas got mixed in the last two commits)
koda
parents: 3347
diff changeset
   157
        uStore.hScreen:= cScreenWidth;
3405
8fdb08497bf1 js' patch that restores Vsync on snow leopard
koda
parents: 3395
diff changeset
   158
        uWorld.wScreen:= cScreenHeight;
8fdb08497bf1 js' patch that restores Vsync on snow leopard
koda
parents: 3395
diff changeset
   159
        uWorld.hScreen:= cScreenWidth;
3395
095273ad0e08 adding a somewhat working autoration for ipad (uStore.pas and uWorld.pas got mixed in the last two commits)
koda
parents: 3347
diff changeset
   160
    end;
095273ad0e08 adding a somewhat working autoration for ipad (uStore.pas and uWorld.pas got mixed in the last two commits)
koda
parents: 3347
diff changeset
   161
end;
2690
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
   162
{$ENDIF}
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
   163
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
   164
end.
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
   165