hedgewars/PascalExports.pas
author smaxx
Wed, 04 Aug 2010 15:57:27 +0200
changeset 3722 eadebe4c45c9
parent 3697 d5b30d6373fc
child 3737 2ba6ac8a114b
permissions -rw-r--r--
Engine: * Added (untested) script functions: GetHealth(), SetTimer(), GetTimer()
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
3668
3f7a95234d8a tap to play piano notes, fix for audio and pause glitch
koda
parents: 3662
diff changeset
    16
uses uKeys, GLunit, uWorld, uMisc, uConsole, uTeams, uConsts, uChat, uGears, uSound, 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}
3635
38d3e31556d3 improvements to touch interface (tap to select weap, don't move camera for spourious taps, ask for confirmation when using click-weapons)
koda
parents: 3626
diff changeset
    23
3063
0092dc37fbd6 reworked interaction of engine/frontend when closing
koda
parents: 3040
diff changeset
    24
// retrieve protocol information
3650
ec90e573f47a add a timer selection for grenades
koda
parents: 3649
diff changeset
    25
procedure HW_versionInfo(netProto: PShortInt; versionStr: PPChar); cdecl; export;
2691
c0da3a98c01c initial support for engine protocol
koda
parents: 2690
diff changeset
    26
begin
3245
252be02536ab fix an error in passing strings between ObjC and Pascal
koda
parents: 3063
diff changeset
    27
// http://bugs.freepascal.org/view.php?id=16156
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2924
diff changeset
    28
    if netProto <> nil then netProto^:= cNetProtoVersion;
3245
252be02536ab fix an error in passing strings between ObjC and Pascal
koda
parents: 3063
diff changeset
    29
    if versionStr <> nil then versionStr^:= cVersionString;
2691
c0da3a98c01c initial support for engine protocol
koda
parents: 2690
diff changeset
    30
end;
c0da3a98c01c initial support for engine protocol
koda
parents: 2690
diff changeset
    31
2690
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    32
procedure HW_click; cdecl; export;
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    33
begin
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2924
diff changeset
    34
    leftClick:= true;
2690
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    35
end;
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    36
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    37
procedure HW_zoomIn; cdecl; export;
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    38
begin
3523
6592fbb969da fix zoom smoothness
koda
parents: 3463
diff changeset
    39
    if wheelDown = false then
6592fbb969da fix zoom smoothness
koda
parents: 3463
diff changeset
    40
        wheelUp:= true;
2690
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    41
end;
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    42
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    43
procedure HW_zoomOut; cdecl; export;
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    44
begin
3523
6592fbb969da fix zoom smoothness
koda
parents: 3463
diff changeset
    45
    if wheelUp = false then
6592fbb969da fix zoom smoothness
koda
parents: 3463
diff changeset
    46
        wheelDown:= true;
2690
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    47
end;
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    48
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    49
procedure HW_zoomReset; cdecl; export;
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    50
begin
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2924
diff changeset
    51
    middleClick:= true;
3672
f225b94a4411 shrink confirmation button, double tap resets zoom and centers hog
koda
parents: 3668
diff changeset
    52
    // center the camera at current hog
f225b94a4411 shrink confirmation button, double tap resets zoom and centers hog
koda
parents: 3668
diff changeset
    53
    if CurrentHedgehog <> nil then
f225b94a4411 shrink confirmation button, double tap resets zoom and centers hog
koda
parents: 3668
diff changeset
    54
        followGear:= CurrentHedgehog^.Gear;
2690
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    55
end;
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    56
3680
aaf832c6fbd7 fix panning when zoomed (finally)
koda
parents: 3672
diff changeset
    57
function HW_zoomFactor: GLfloat; cdecl; export;
aaf832c6fbd7 fix panning when zoomed (finally)
koda
parents: 3672
diff changeset
    58
begin
aaf832c6fbd7 fix panning when zoomed (finally)
koda
parents: 3672
diff changeset
    59
    exit( ZoomValue / cDefaultZoomLevel );
aaf832c6fbd7 fix panning when zoomed (finally)
koda
parents: 3672
diff changeset
    60
end;
aaf832c6fbd7 fix panning when zoomed (finally)
koda
parents: 3672
diff changeset
    61
aaf832c6fbd7 fix panning when zoomed (finally)
koda
parents: 3672
diff changeset
    62
function HW_zoomLevel: LongInt; cdecl; export;
aaf832c6fbd7 fix panning when zoomed (finally)
koda
parents: 3672
diff changeset
    63
begin
aaf832c6fbd7 fix panning when zoomed (finally)
koda
parents: 3672
diff changeset
    64
    writelntoconsole(inttostr(trunc((ZoomValue - cDefaultZoomLevel) / cZoomDelta) ));
aaf832c6fbd7 fix panning when zoomed (finally)
koda
parents: 3672
diff changeset
    65
    exit( trunc((ZoomValue - cDefaultZoomLevel) / cZoomDelta) );
aaf832c6fbd7 fix panning when zoomed (finally)
koda
parents: 3672
diff changeset
    66
end;
aaf832c6fbd7 fix panning when zoomed (finally)
koda
parents: 3672
diff changeset
    67
2690
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    68
procedure HW_ammoMenu; cdecl; export;
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    69
begin
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2924
diff changeset
    70
    rightClick:= true;
2690
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    71
end;
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    72
3626
19f78afa0188 fix the multitouch shooting and moving
koda
parents: 3551
diff changeset
    73
procedure HW_walkingKeysUp; cdecl; export;
19f78afa0188 fix the multitouch shooting and moving
koda
parents: 3551
diff changeset
    74
begin
19f78afa0188 fix the multitouch shooting and moving
koda
parents: 3551
diff changeset
    75
    leftKey:= false;
19f78afa0188 fix the multitouch shooting and moving
koda
parents: 3551
diff changeset
    76
    rightKey:= false;
19f78afa0188 fix the multitouch shooting and moving
koda
parents: 3551
diff changeset
    77
    upKey:= false;
19f78afa0188 fix the multitouch shooting and moving
koda
parents: 3551
diff changeset
    78
    downKey:= false;
3649
bc35f8fee587 aim now starts slow and then moves faster
koda
parents: 3648
diff changeset
    79
    preciseKey:= false;
3626
19f78afa0188 fix the multitouch shooting and moving
koda
parents: 3551
diff changeset
    80
end;
19f78afa0188 fix the multitouch shooting and moving
koda
parents: 3551
diff changeset
    81
19f78afa0188 fix the multitouch shooting and moving
koda
parents: 3551
diff changeset
    82
procedure HW_otherKeysUp; cdecl; export;
19f78afa0188 fix the multitouch shooting and moving
koda
parents: 3551
diff changeset
    83
begin
19f78afa0188 fix the multitouch shooting and moving
koda
parents: 3551
diff changeset
    84
    spaceKey:= false;
19f78afa0188 fix the multitouch shooting and moving
koda
parents: 3551
diff changeset
    85
    enterKey:= false;
19f78afa0188 fix the multitouch shooting and moving
koda
parents: 3551
diff changeset
    86
    backspaceKey:= false;
19f78afa0188 fix the multitouch shooting and moving
koda
parents: 3551
diff changeset
    87
end;
19f78afa0188 fix the multitouch shooting and moving
koda
parents: 3551
diff changeset
    88
2690
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    89
procedure HW_allKeysUp; cdecl; export;
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    90
begin
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2924
diff changeset
    91
    // set all keys to released
3040
3e7f4a30e18a Insert commit message here (to get along with palewolf)
koda
parents: 3015
diff changeset
    92
    uKeys.initModule;
2690
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    93
end;
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    94
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    95
procedure HW_walkLeft; cdecl; export;
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    96
begin
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2924
diff changeset
    97
    leftKey:= true;
2690
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    98
end;
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
    99
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
   100
procedure HW_walkRight; cdecl; export;
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
   101
begin
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2924
diff changeset
   102
    rightKey:= true;
2690
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
   103
end;
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
   104
3649
bc35f8fee587 aim now starts slow and then moves faster
koda
parents: 3648
diff changeset
   105
procedure HW_preciseSet(status:boolean); cdecl; export;
bc35f8fee587 aim now starts slow and then moves faster
koda
parents: 3648
diff changeset
   106
begin
bc35f8fee587 aim now starts slow and then moves faster
koda
parents: 3648
diff changeset
   107
    preciseKey:= status;
bc35f8fee587 aim now starts slow and then moves faster
koda
parents: 3648
diff changeset
   108
end;
bc35f8fee587 aim now starts slow and then moves faster
koda
parents: 3648
diff changeset
   109
2690
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
   110
procedure HW_aimUp; cdecl; export;
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
   111
begin
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2924
diff changeset
   112
    upKey:= true;
2690
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
   113
end;
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
   114
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
   115
procedure HW_aimDown; cdecl; export;
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
   116
begin
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2924
diff changeset
   117
    downKey:= true;
2690
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
   118
end;
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
   119
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
   120
procedure HW_shoot; cdecl; export;
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
   121
begin
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2924
diff changeset
   122
    spaceKey:= true;
2690
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
   123
end;
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
   124
3015
20a9c8160e82 add jump and backjump controls
koda
parents: 2948
diff changeset
   125
procedure HW_jump; cdecl; export;
20a9c8160e82 add jump and backjump controls
koda
parents: 2948
diff changeset
   126
begin
20a9c8160e82 add jump and backjump controls
koda
parents: 2948
diff changeset
   127
    enterKey:= true;
20a9c8160e82 add jump and backjump controls
koda
parents: 2948
diff changeset
   128
end;
20a9c8160e82 add jump and backjump controls
koda
parents: 2948
diff changeset
   129
20a9c8160e82 add jump and backjump controls
koda
parents: 2948
diff changeset
   130
procedure HW_backjump; cdecl; export;
20a9c8160e82 add jump and backjump controls
koda
parents: 2948
diff changeset
   131
begin
20a9c8160e82 add jump and backjump controls
koda
parents: 2948
diff changeset
   132
    backspaceKey:= true;
20a9c8160e82 add jump and backjump controls
koda
parents: 2948
diff changeset
   133
end;
20a9c8160e82 add jump and backjump controls
koda
parents: 2948
diff changeset
   134
3651
7058ca178f3b switching hogs now works
koda
parents: 3650
diff changeset
   135
procedure HW_tab; cdecl; export;
7058ca178f3b switching hogs now works
koda
parents: 3650
diff changeset
   136
begin
7058ca178f3b switching hogs now works
koda
parents: 3650
diff changeset
   137
    tabKey:= true;
7058ca178f3b switching hogs now works
koda
parents: 3650
diff changeset
   138
end;
7058ca178f3b switching hogs now works
koda
parents: 3650
diff changeset
   139
2754
ad4f81fbfb76 touchinput works, invisible buttons added and initial support for chat
koda
parents: 2716
diff changeset
   140
procedure HW_chat; cdecl; export;
ad4f81fbfb76 touchinput works, invisible buttons added and initial support for chat
koda
parents: 2716
diff changeset
   141
begin
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2924
diff changeset
   142
    chatAction:= true;
2754
ad4f81fbfb76 touchinput works, invisible buttons added and initial support for chat
koda
parents: 2716
diff changeset
   143
end;
ad4f81fbfb76 touchinput works, invisible buttons added and initial support for chat
koda
parents: 2716
diff changeset
   144
3648
2477029463ed some further chat polishing
koda
parents: 3638
diff changeset
   145
procedure HW_chatEnd; cdecl; export;
2477029463ed some further chat polishing
koda
parents: 3638
diff changeset
   146
begin
2477029463ed some further chat polishing
koda
parents: 3638
diff changeset
   147
    KeyPressChat(27); // esc - cleans buffer
2477029463ed some further chat polishing
koda
parents: 3638
diff changeset
   148
    KeyPressChat(13); // enter - removes chat
2477029463ed some further chat polishing
koda
parents: 3638
diff changeset
   149
end;
2477029463ed some further chat polishing
koda
parents: 3638
diff changeset
   150
2805
36a8cebb91e8 new menupage ingame for common actions
koda
parents: 2803
diff changeset
   151
procedure HW_pause; cdecl; export;
36a8cebb91e8 new menupage ingame for common actions
koda
parents: 2803
diff changeset
   152
begin
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2924
diff changeset
   153
    pauseAction:= true;
2805
36a8cebb91e8 new menupage ingame for common actions
koda
parents: 2803
diff changeset
   154
end;
36a8cebb91e8 new menupage ingame for common actions
koda
parents: 2803
diff changeset
   155
3063
0092dc37fbd6 reworked interaction of engine/frontend when closing
koda
parents: 3040
diff changeset
   156
procedure HW_terminate(closeFrontend: boolean); cdecl; export;
0092dc37fbd6 reworked interaction of engine/frontend when closing
koda
parents: 3040
diff changeset
   157
begin
0092dc37fbd6 reworked interaction of engine/frontend when closing
koda
parents: 3040
diff changeset
   158
    isTerminated:= true;
0092dc37fbd6 reworked interaction of engine/frontend when closing
koda
parents: 3040
diff changeset
   159
    if closeFrontend then alsoShutdownFrontend:= true;
0092dc37fbd6 reworked interaction of engine/frontend when closing
koda
parents: 3040
diff changeset
   160
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
   161
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
   162
procedure HW_setLandscape(landscape: boolean); cdecl; export;
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
   163
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
   164
    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
   165
    begin
3463
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   166
        cOffsetY:= 0;
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
   167
    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
   168
    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
   169
    begin
3463
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   170
        cOffsetY:= 120;
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
   171
    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
   172
end;
3551
d4de36b3801a moar zoom, fixed fort mode, other glitches
koda
parents: 3523
diff changeset
   173
d4de36b3801a moar zoom, fixed fort mode, other glitches
koda
parents: 3523
diff changeset
   174
procedure HW_setCursor(x,y: LongInt); cdecl; export;
d4de36b3801a moar zoom, fixed fort mode, other glitches
koda
parents: 3523
diff changeset
   175
begin
d4de36b3801a moar zoom, fixed fort mode, other glitches
koda
parents: 3523
diff changeset
   176
    CursorPoint.X:= x;
d4de36b3801a moar zoom, fixed fort mode, other glitches
koda
parents: 3523
diff changeset
   177
    CursorPoint.Y:= y;
d4de36b3801a moar zoom, fixed fort mode, other glitches
koda
parents: 3523
diff changeset
   178
end;
d4de36b3801a moar zoom, fixed fort mode, other glitches
koda
parents: 3523
diff changeset
   179
3661
2378ada8a6ee i can haz panning
koda
parents: 3651
diff changeset
   180
procedure HW_getCursor(x,y: PLongInt); cdecl; export;
2378ada8a6ee i can haz panning
koda
parents: 3651
diff changeset
   181
begin
2378ada8a6ee i can haz panning
koda
parents: 3651
diff changeset
   182
    x^:= CursorPoint.X;
2378ada8a6ee i can haz panning
koda
parents: 3651
diff changeset
   183
    y^:= CursorPoint.Y;
2378ada8a6ee i can haz panning
koda
parents: 3651
diff changeset
   184
end;
2378ada8a6ee i can haz panning
koda
parents: 3651
diff changeset
   185
3668
3f7a95234d8a tap to play piano notes, fix for audio and pause glitch
koda
parents: 3662
diff changeset
   186
procedure HW_setPianoSound(snd: LongInt); cdecl; export;
3f7a95234d8a tap to play piano notes, fix for audio and pause glitch
koda
parents: 3662
diff changeset
   187
var CurSlot, CurAmmo: LongWord;
3635
38d3e31556d3 improvements to touch interface (tap to select weap, don't move camera for spourious taps, ask for confirmation when using click-weapons)
koda
parents: 3626
diff changeset
   188
begin
3668
3f7a95234d8a tap to play piano notes, fix for audio and pause glitch
koda
parents: 3662
diff changeset
   189
    CurSlot:= CurrentHedgehog^.CurSlot;
3f7a95234d8a tap to play piano notes, fix for audio and pause glitch
koda
parents: 3662
diff changeset
   190
    CurAmmo:= CurrentHedgehog^.CurAmmo;
3f7a95234d8a tap to play piano notes, fix for audio and pause glitch
koda
parents: 3662
diff changeset
   191
    // this most likely won't work in network game
3f7a95234d8a tap to play piano notes, fix for audio and pause glitch
koda
parents: 3662
diff changeset
   192
    if (CurrentHedgehog^.Ammo^[CurSlot, CurAmmo].AmmoType = amPiano) then
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3680
diff changeset
   193
        case snd of
3668
3f7a95234d8a tap to play piano notes, fix for audio and pause glitch
koda
parents: 3662
diff changeset
   194
            0: PlaySound(sndPiano0);
3f7a95234d8a tap to play piano notes, fix for audio and pause glitch
koda
parents: 3662
diff changeset
   195
            1: PlaySound(sndPiano1);
3f7a95234d8a tap to play piano notes, fix for audio and pause glitch
koda
parents: 3662
diff changeset
   196
            2: PlaySound(sndPiano2);
3f7a95234d8a tap to play piano notes, fix for audio and pause glitch
koda
parents: 3662
diff changeset
   197
            3: PlaySound(sndPiano3);
3f7a95234d8a tap to play piano notes, fix for audio and pause glitch
koda
parents: 3662
diff changeset
   198
            4: PlaySound(sndPiano4);
3f7a95234d8a tap to play piano notes, fix for audio and pause glitch
koda
parents: 3662
diff changeset
   199
            5: PlaySound(sndPiano5);
3f7a95234d8a tap to play piano notes, fix for audio and pause glitch
koda
parents: 3662
diff changeset
   200
            6: PlaySound(sndPiano6);
3f7a95234d8a tap to play piano notes, fix for audio and pause glitch
koda
parents: 3662
diff changeset
   201
            7: PlaySound(sndPiano7);
3f7a95234d8a tap to play piano notes, fix for audio and pause glitch
koda
parents: 3662
diff changeset
   202
            else PlaySound(sndPiano8);
3f7a95234d8a tap to play piano notes, fix for audio and pause glitch
koda
parents: 3662
diff changeset
   203
        end;
3635
38d3e31556d3 improvements to touch interface (tap to select weap, don't move camera for spourious taps, ask for confirmation when using click-weapons)
koda
parents: 3626
diff changeset
   204
end;
38d3e31556d3 improvements to touch interface (tap to select weap, don't move camera for spourious taps, ask for confirmation when using click-weapons)
koda
parents: 3626
diff changeset
   205
3637
0db298524c3d implement the check on the type of ammo requiring a second tap to confirm
koda
parents: 3635
diff changeset
   206
function HW_isAmmoOpen: boolean; cdecl; export;
3551
d4de36b3801a moar zoom, fixed fort mode, other glitches
koda
parents: 3523
diff changeset
   207
begin
d4de36b3801a moar zoom, fixed fort mode, other glitches
koda
parents: 3523
diff changeset
   208
    exit(bShowAmmoMenu);
d4de36b3801a moar zoom, fixed fort mode, other glitches
koda
parents: 3523
diff changeset
   209
end;
3637
0db298524c3d implement the check on the type of ammo requiring a second tap to confirm
koda
parents: 3635
diff changeset
   210
0db298524c3d implement the check on the type of ammo requiring a second tap to confirm
koda
parents: 3635
diff changeset
   211
function HW_isWeaponRequiringClick: boolean; cdecl; export;
0db298524c3d implement the check on the type of ammo requiring a second tap to confirm
koda
parents: 3635
diff changeset
   212
begin
3662
a44406f4369b polish polish polish polish (also: panning horizontal fix, panning momentum, settings page reworked yet again, memory leaks, crashes, segfaults)
koda
parents: 3661
diff changeset
   213
    if (CurrentHedgehog <> nil) and (CurrentHedgehog^.Gear <> nil) then
a44406f4369b polish polish polish polish (also: panning horizontal fix, panning momentum, settings page reworked yet again, memory leaks, crashes, segfaults)
koda
parents: 3661
diff changeset
   214
        exit( (CurrentHedgehog^.Gear^.State and gstHHChooseTarget) <> 0 )
a44406f4369b polish polish polish polish (also: panning horizontal fix, panning momentum, settings page reworked yet again, memory leaks, crashes, segfaults)
koda
parents: 3661
diff changeset
   215
    else
a44406f4369b polish polish polish polish (also: panning horizontal fix, panning momentum, settings page reworked yet again, memory leaks, crashes, segfaults)
koda
parents: 3661
diff changeset
   216
        exit(false);
3637
0db298524c3d implement the check on the type of ammo requiring a second tap to confirm
koda
parents: 3635
diff changeset
   217
end;
0db298524c3d implement the check on the type of ammo requiring a second tap to confirm
koda
parents: 3635
diff changeset
   218
3650
ec90e573f47a add a timer selection for grenades
koda
parents: 3649
diff changeset
   219
function HW_isWeaponTimerable: boolean; cdecl; export;
ec90e573f47a add a timer selection for grenades
koda
parents: 3649
diff changeset
   220
var CurSlot, CurAmmo: LongWord;
ec90e573f47a add a timer selection for grenades
koda
parents: 3649
diff changeset
   221
begin
ec90e573f47a add a timer selection for grenades
koda
parents: 3649
diff changeset
   222
    CurSlot:= CurrentHedgehog^.CurSlot;
ec90e573f47a add a timer selection for grenades
koda
parents: 3649
diff changeset
   223
    CurAmmo:= CurrentHedgehog^.CurAmmo;
ec90e573f47a add a timer selection for grenades
koda
parents: 3649
diff changeset
   224
    exit( (CurrentHedgehog^.Ammo^[CurSlot, CurAmmo].Propz and ammoprop_Timerable) <> 0)
ec90e573f47a add a timer selection for grenades
koda
parents: 3649
diff changeset
   225
end;
ec90e573f47a add a timer selection for grenades
koda
parents: 3649
diff changeset
   226
3651
7058ca178f3b switching hogs now works
koda
parents: 3650
diff changeset
   227
function HW_isWeaponSwitch: boolean cdecl; export;
7058ca178f3b switching hogs now works
koda
parents: 3650
diff changeset
   228
begin
7058ca178f3b switching hogs now works
koda
parents: 3650
diff changeset
   229
    if CurAmmoGear <> nil then
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3680
diff changeset
   230
        exit(CurAmmoGear^.AmmoType = amSwitch)
3651
7058ca178f3b switching hogs now works
koda
parents: 3650
diff changeset
   231
    else
7058ca178f3b switching hogs now works
koda
parents: 3650
diff changeset
   232
        exit(false)
7058ca178f3b switching hogs now works
koda
parents: 3650
diff changeset
   233
end;
7058ca178f3b switching hogs now works
koda
parents: 3650
diff changeset
   234
3668
3f7a95234d8a tap to play piano notes, fix for audio and pause glitch
koda
parents: 3662
diff changeset
   235
function HW_isPaused: boolean; cdecl; export;
3f7a95234d8a tap to play piano notes, fix for audio and pause glitch
koda
parents: 3662
diff changeset
   236
begin
3f7a95234d8a tap to play piano notes, fix for audio and pause glitch
koda
parents: 3662
diff changeset
   237
    exit( isPaused );
3f7a95234d8a tap to play piano notes, fix for audio and pause glitch
koda
parents: 3662
diff changeset
   238
end;
3f7a95234d8a tap to play piano notes, fix for audio and pause glitch
koda
parents: 3662
diff changeset
   239
3650
ec90e573f47a add a timer selection for grenades
koda
parents: 3649
diff changeset
   240
procedure HW_setGrenadeTime(time: LongInt); cdecl; export;
ec90e573f47a add a timer selection for grenades
koda
parents: 3649
diff changeset
   241
begin
ec90e573f47a add a timer selection for grenades
koda
parents: 3649
diff changeset
   242
    ParseCommand('/timer ' + inttostr(time), true);
ec90e573f47a add a timer selection for grenades
koda
parents: 3649
diff changeset
   243
end;
ec90e573f47a add a timer selection for grenades
koda
parents: 3649
diff changeset
   244
3637
0db298524c3d implement the check on the type of ammo requiring a second tap to confirm
koda
parents: 3635
diff changeset
   245
//amSwitch
2690
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
   246
{$ENDIF}
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
   247
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
   248
end.
8e83c7e31720 move mixed functions in PascalExports
koda
parents:
diff changeset
   249