hedgewars/uCommandHandlers.pas
author unc0rr
Mon, 22 Nov 2010 21:43:31 +0300
changeset 4413 46caab3a8f84
child 4437 05192cdbce9b
permissions -rw-r--r--
uCommandHandlers
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4413
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
     1
{$INCLUDE "options.inc"}
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
     2
unit uCommandHandlers;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
     3
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
     4
interface
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
     5
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
     6
procedure initModule;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
     7
procedure freeModule;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
     8
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
     9
implementation
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    10
uses uCommands, uTypes, uVariables, uIO, uDebug, uConsts, uScript, uUtils, SDLh, uMobile, uRandom;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    11
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    12
procedure chQuit(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    13
const prevGState: TGameState = gsConfirm;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    14
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    15
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    16
if GameState <> gsConfirm then
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    17
        begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    18
        prevGState:= GameState;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    19
        GameState:= gsConfirm
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    20
        end else
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    21
        GameState:= prevGState
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    22
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    23
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    24
procedure chConfirm(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    25
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    26
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    27
if GameState = gsConfirm then
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    28
    begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    29
    SendIPC('Q');
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    30
    GameState:= gsExit
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    31
    end
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    32
else
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    33
    ParseCommand('chat team', true);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    34
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    35
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    36
procedure chCheckProto(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    37
var i, c: LongInt;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    38
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    39
if isDeveloperMode then
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    40
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    41
val(s, i, c);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    42
if (c <> 0) or (i = 0) then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    43
TryDo(i <= cNetProtoVersion, 'Protocol version mismatch: engine is too old', true);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    44
TryDo(i >= cNetProtoVersion, 'Protocol version mismatch: engine is too new', true)
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    45
end
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    46
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    47
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    48
procedure chTeamLocal(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    49
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    50
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    51
if not isDeveloperMode then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    52
if CurrentTeam = nil then OutError(errmsgIncorrectUse + ' "/rdriven"', true);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    53
CurrentTeam^.ExtDriven:= true
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    54
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    55
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    56
procedure chGrave(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    57
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    58
if CurrentTeam = nil then OutError(errmsgIncorrectUse + ' "/grave"', true);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    59
if s[1]='"' then Delete(s, 1, 1);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    60
if s[byte(s[0])]='"' then Delete(s, byte(s[0]), 1);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    61
CurrentTeam^.GraveName:= s
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    62
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    63
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    64
procedure chFort(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    65
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    66
if CurrentTeam = nil then OutError(errmsgIncorrectUse + ' "/fort"', true);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    67
if s[1]='"' then Delete(s, 1, 1);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    68
if s[byte(s[0])]='"' then Delete(s, byte(s[0]), 1);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    69
CurrentTeam^.FortName:= s
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    70
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    71
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    72
procedure chFlag(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    73
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    74
if CurrentTeam = nil then OutError(errmsgIncorrectUse + ' "/flag"', true);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    75
if s[1]='"' then Delete(s, 1, 1);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    76
if s[byte(s[0])]='"' then Delete(s, byte(s[0]), 1);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    77
CurrentTeam^.flag:= s
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    78
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    79
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    80
procedure chScript(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    81
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    82
if s[1]='"' then Delete(s, 1, 1);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    83
if s[byte(s[0])]='"' then Delete(s, byte(s[0]), 1);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    84
ScriptLoad(s)
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    85
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    86
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    87
procedure chSetHat(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    88
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    89
if (not isDeveloperMode) or (CurrentTeam = nil) then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    90
with CurrentTeam^ do
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    91
    begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    92
    if not CurrentHedgehog^.King then
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    93
    if (s = '') or
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    94
        (((GameFlags and gfKing) <> 0) and (s = 'crown')) or
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    95
        ((Length(s) > 39) and (Copy(s,1,8) = 'Reserved') and (Copy(s,9,32) <> PlayerHash)) then
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    96
        CurrentHedgehog^.Hat:= 'NoHat'
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    97
    else
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    98
        CurrentHedgehog^.Hat:= s
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    99
    end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   100
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   101
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   102
procedure chCurU_p(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   103
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   104
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   105
CursorMovementY:= -1;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   106
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   107
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   108
procedure chCurU_m(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   109
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   110
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   111
CursorMovementY:= 0;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   112
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   113
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   114
procedure chCurD_p(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   115
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   116
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   117
CursorMovementY:= 1;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   118
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   119
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   120
procedure chCurD_m(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   121
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   122
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   123
CursorMovementY:= 0;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   124
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   125
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   126
procedure chCurL_p(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   127
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   128
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   129
CursorMovementX:= -1;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   130
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   131
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   132
procedure chCurL_m(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   133
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   134
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   135
CursorMovementX:= 0;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   136
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   137
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   138
procedure chCurR_p(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   139
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   140
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   141
CursorMovementX:= 1;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   142
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   143
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   144
procedure chCurR_m(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   145
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   146
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   147
CursorMovementX:= 0;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   148
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   149
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   150
procedure chLeft_p(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   151
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   152
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   153
if CheckNoTeamOrHH or isPaused then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   154
if not CurrentTeam^.ExtDriven then SendIPC('L');
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   155
if ReadyTimeLeft > 1 then ReadyTimeLeft:= 1;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   156
bShowFinger:= false;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   157
with CurrentHedgehog^.Gear^ do
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   158
    Message:= Message or gmLeft
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   159
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   160
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   161
procedure chLeft_m(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   162
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   163
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   164
if CheckNoTeamOrHH then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   165
if not CurrentTeam^.ExtDriven then SendIPC('l');
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   166
with CurrentHedgehog^.Gear^ do
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   167
    Message:= Message and not gmLeft
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   168
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   169
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   170
procedure chRight_p(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   171
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   172
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   173
if CheckNoTeamOrHH or isPaused then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   174
if not CurrentTeam^.ExtDriven then SendIPC('R');
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   175
if ReadyTimeLeft > 1 then ReadyTimeLeft:= 1;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   176
bShowFinger:= false;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   177
with CurrentHedgehog^.Gear^ do
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   178
    Message:= Message or gmRight
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   179
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   180
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   181
procedure chRight_m(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   182
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   183
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   184
if CheckNoTeamOrHH then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   185
if not CurrentTeam^.ExtDriven then SendIPC('r');
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   186
with CurrentHedgehog^.Gear^ do
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   187
    Message:= Message and not gmRight
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   188
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   189
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   190
procedure chUp_p(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   191
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   192
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   193
if CheckNoTeamOrHH or isPaused then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   194
if not CurrentTeam^.ExtDriven then SendIPC('U');
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   195
if ReadyTimeLeft > 1 then ReadyTimeLeft:= 1;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   196
bShowFinger:= false;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   197
with CurrentHedgehog^.Gear^ do
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   198
    Message:= Message or gmUp
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   199
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   200
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   201
procedure chUp_m(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   202
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   203
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   204
if CheckNoTeamOrHH then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   205
if not CurrentTeam^.ExtDriven then SendIPC('u');
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   206
with CurrentHedgehog^.Gear^ do
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   207
    Message:= Message and not gmUp
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   208
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   209
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   210
procedure chDown_p(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   211
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   212
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   213
if CheckNoTeamOrHH or isPaused then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   214
if not CurrentTeam^.ExtDriven then SendIPC('D');
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   215
if ReadyTimeLeft > 1 then ReadyTimeLeft:= 1;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   216
bShowFinger:= false;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   217
with CurrentHedgehog^.Gear^ do
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   218
    Message:= Message or gmDown
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   219
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   220
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   221
procedure chDown_m(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   222
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   223
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   224
if CheckNoTeamOrHH then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   225
if not CurrentTeam^.ExtDriven then SendIPC('d');
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   226
with CurrentHedgehog^.Gear^ do
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   227
    Message:= Message and not gmDown
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   228
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   229
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   230
procedure chPrecise_p(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   231
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   232
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   233
if CheckNoTeamOrHH or isPaused then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   234
if not CurrentTeam^.ExtDriven then SendIPC('Z');
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   235
if ReadyTimeLeft > 1 then ReadyTimeLeft:= 1;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   236
bShowFinger:= false;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   237
with CurrentHedgehog^.Gear^ do
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   238
    Message:= Message or gmPrecise
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   239
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   240
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   241
procedure chPrecise_m(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   242
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   243
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   244
if CheckNoTeamOrHH then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   245
if not CurrentTeam^.ExtDriven then SendIPC('z');
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   246
with CurrentHedgehog^.Gear^ do
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   247
    Message:= Message and not gmPrecise
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   248
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   249
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   250
procedure chLJump(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   251
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   252
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   253
if CheckNoTeamOrHH or isPaused then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   254
if not CurrentTeam^.ExtDriven then SendIPC('j');
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   255
if ReadyTimeLeft > 1 then ReadyTimeLeft:= 1;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   256
bShowFinger:= false;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   257
with CurrentHedgehog^.Gear^ do
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   258
    Message:= Message or gmLJump
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   259
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   260
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   261
procedure chHJump(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   262
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   263
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   264
if CheckNoTeamOrHH or isPaused then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   265
if not CurrentTeam^.ExtDriven then SendIPC('J');
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   266
if ReadyTimeLeft > 1 then ReadyTimeLeft:= 1;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   267
bShowFinger:= false;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   268
with CurrentHedgehog^.Gear^ do
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   269
    Message:= Message or gmHJump
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   270
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   271
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   272
procedure chAttack_p(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   273
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   274
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   275
if CheckNoTeamOrHH or isPaused then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   276
if ReadyTimeLeft > 1 then ReadyTimeLeft:= 1;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   277
bShowFinger:= false;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   278
with CurrentHedgehog^.Gear^ do
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   279
    begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   280
    {$IFDEF DEBUGFILE}AddFileLog('/+attack: hedgehog''s Gear^.State = '+inttostr(State));{$ENDIF}
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   281
    if ((State and gstHHDriven) <> 0) then
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   282
        begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   283
        FollowGear:= CurrentHedgehog^.Gear;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   284
        if not CurrentTeam^.ExtDriven then SendIPC('A');
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   285
        Message:= Message or gmAttack
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   286
        end
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   287
    end
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   288
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   289
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   290
procedure chAttack_m(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   291
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   292
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   293
if CheckNoTeamOrHH then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   294
with CurrentHedgehog^.Gear^ do
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   295
    begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   296
    if not CurrentTeam^.ExtDriven and
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   297
        ((Message and gmAttack) <> 0) then SendIPC('a');
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   298
    Message:= Message and not gmAttack
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   299
    end
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   300
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   301
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   302
procedure chSwitch(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   303
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   304
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   305
if CheckNoTeamOrHH or isPaused then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   306
if not CurrentTeam^.ExtDriven then SendIPC('S');
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   307
if ReadyTimeLeft > 1 then ReadyTimeLeft:= 1;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   308
bShowFinger:= false;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   309
with CurrentHedgehog^.Gear^ do
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   310
    Message:= Message or gmSwitch
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   311
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   312
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   313
procedure chNextTurn(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   314
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   315
    s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   316
    TryDo(AllInactive, '/nextturn called when not all gears are inactive', true);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   317
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   318
    if not CurrentTeam^.ExtDriven then SendIPC('N');
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   319
{$IFDEF DEBUGFILE}
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   320
    AddFileLog('Doing SwitchHedgehog: time '+inttostr(GameTicks));
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   321
{$ENDIF}
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   322
    perfExt_NewTurnBeginning();
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   323
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   324
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   325
procedure chTimer(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   326
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   327
if (s[0] <> #1) or (s[1] < '1') or (s[1] > '5') or CheckNoTeamOrHH then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   328
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   329
if not CurrentTeam^.ExtDriven then SendIPC(s);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   330
if ReadyTimeLeft > 1 then ReadyTimeLeft:= 1;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   331
bShowFinger:= false;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   332
with CurrentHedgehog^.Gear^ do
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   333
    begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   334
    Message:= Message or gmTimer;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   335
    MsgParam:= byte(s[1]) - ord('0')
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   336
    end
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   337
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   338
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   339
procedure chSlot(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   340
var slot: LongWord;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   341
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   342
if (s[0] <> #1) or CheckNoTeamOrHH then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   343
slot:= byte(s[1]) - 49;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   344
if slot > cMaxSlotIndex then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   345
if not CurrentTeam^.ExtDriven then SendIPC(char(byte(s[1]) + 79));
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   346
if ReadyTimeLeft > 1 then ReadyTimeLeft:= 1;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   347
bShowFinger:= false;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   348
with CurrentHedgehog^.Gear^ do
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   349
    begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   350
    Message:= Message or gmSlot;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   351
    MsgParam:= slot
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   352
    end
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   353
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   354
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   355
procedure chSetWeapon(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   356
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   357
    if (s[0] <> #1) or CheckNoTeamOrHH then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   358
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   359
    if TAmmoType(s[1]) > High(TAmmoType) then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   360
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   361
    if not CurrentTeam^.ExtDriven then SendIPC('w' + s);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   362
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   363
    with CurrentHedgehog^.Gear^ do
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   364
    begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   365
        Message:= Message or gmWeapon;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   366
        MsgParam:= byte(s[1]);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   367
    end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   368
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   369
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   370
procedure chTaunt(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   371
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   372
if (s[0] <> #1) or CheckNoTeamOrHH then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   373
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   374
if TWave(s[1]) > High(TWave) then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   375
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   376
if not CurrentTeam^.ExtDriven then SendIPC('t' + s);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   377
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   378
with CurrentHedgehog^.Gear^ do
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   379
    begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   380
    Message:= Message or gmAnimate;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   381
    MsgParam:= byte(s[1])
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   382
    end
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   383
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   384
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   385
procedure chPut(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   386
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   387
    s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   388
    doPut(0, 0, false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   389
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   390
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   391
procedure chCapture(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   392
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   393
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   394
flagMakeCapture:= true
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   395
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   396
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   397
procedure chSetMap(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   398
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   399
if isDeveloperMode then
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   400
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   401
Pathz[ptMapCurrent]:= Pathz[ptMaps] + '/' + s;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   402
InitStepsFlags:= InitStepsFlags or cifMap
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   403
end
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   404
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   405
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   406
procedure chSetTheme(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   407
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   408
if isDeveloperMode then
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   409
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   410
Pathz[ptCurrTheme]:= Pathz[ptThemes] + '/' + s;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   411
InitStepsFlags:= InitStepsFlags or cifTheme
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   412
end
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   413
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   414
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   415
procedure chSetSeed(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   416
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   417
if isDeveloperMode then
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   418
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   419
SetRandomSeed(s);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   420
cSeed:= s;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   421
InitStepsFlags:= InitStepsFlags or cifRandomize
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   422
end
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   423
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   424
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   425
procedure chAmmoMenu(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   426
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   427
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   428
if CheckNoTeamOrHH then
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   429
    bShowAmmoMenu:= true
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   430
else
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   431
    begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   432
    with CurrentTeam^ do
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   433
        with Hedgehogs[CurrHedgehog] do
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   434
            begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   435
            bSelected:= false;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   436
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   437
            if bShowAmmoMenu then bShowAmmoMenu:= false
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   438
            else if ((Gear^.State and (gstAttacking or gstAttacked)) <> 0) or
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   439
                    ((MultiShootAttacks > 0) and ((Ammoz[CurAmmoType].Ammo.Propz and ammoprop_NoRoundEnd) = 0)) or
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   440
                    ((Gear^.State and gstHHDriven) = 0) then else bShowAmmoMenu:= true
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   441
            end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   442
    if ReadyTimeLeft > 1 then ReadyTimeLeft:= 1
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   443
    end
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   444
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   445
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   446
procedure chVol_p(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   447
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   448
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   449
inc(cVolumeDelta, 3)
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   450
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   451
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   452
procedure chVol_m(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   453
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   454
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   455
dec(cVolumeDelta, 3)
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   456
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   457
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   458
procedure chFindhh(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   459
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   460
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   461
if CheckNoTeamOrHH or isPaused then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   462
bShowFinger:= true;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   463
FollowGear:= CurrentHedgehog^.Gear
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   464
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   465
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   466
procedure chPause(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   467
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   468
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   469
if ReadyTimeLeft > 1 then ReadyTimeLeft:= 1;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   470
if gameType <> gmtNet then
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   471
    isPaused:= not isPaused;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   472
SDL_ShowCursor(ord(isPaused))
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   473
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   474
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   475
procedure chRotateMask(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   476
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   477
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   478
if ((GameFlags and gfInvulnerable) = 0) then cTagsMask:= cTagsMasks[cTagsMask] else cTagsMask:= cTagsMasksNoHealth[cTagsMask];
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   479
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   480
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   481
procedure chSpeedup_p(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   482
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   483
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   484
isSpeed:= true
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   485
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   486
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   487
procedure chSpeedup_m(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   488
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   489
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   490
isSpeed:= false
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   491
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   492
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   493
procedure chZoomIn(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   494
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   495
    s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   496
    if ZoomValue < cMinZoomLevel then
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   497
        ZoomValue:= ZoomValue + cZoomDelta;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   498
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   499
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   500
procedure chZoomOut(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   501
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   502
    s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   503
    if ZoomValue > cMaxZoomLevel then
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   504
        ZoomValue:= ZoomValue - cZoomDelta;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   505
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   506
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   507
procedure chZoomReset(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   508
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   509
    s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   510
    ZoomValue:= cDefaultZoomLevel;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   511
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   512
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   513
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   514
procedure initModule;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   515
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   516
    RegisterVariable('flag'    , vtCommand, @chFlag         , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   517
    RegisterVariable('script'  , vtCommand, @chScript       , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   518
    RegisterVariable('proto'   , vtCommand, @chCheckProto   , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   519
    RegisterVariable('spectate', vtBoolean, @fastUntilLag   , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   520
    RegisterVariable('capture' , vtCommand, @chCapture      , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   521
    RegisterVariable('rotmask' , vtCommand, @chRotateMask   , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   522
    RegisterVariable('rdriven' , vtCommand, @chTeamLocal    , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   523
    RegisterVariable('map'     , vtCommand, @chSetMap       , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   524
    RegisterVariable('theme'   , vtCommand, @chSetTheme     , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   525
    RegisterVariable('seed'    , vtCommand, @chSetSeed      , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   526
    RegisterVariable('template_filter', vtLongInt, @cTemplateFilter, false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   527
    RegisterVariable('mapgen'  , vtLongInt, @cMapGen        , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   528
    RegisterVariable('maze_size',vtLongInt, @cMazeSize      , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   529
    RegisterVariable('delay'   , vtLongInt, @cInactDelay    , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   530
    RegisterVariable('ready'   , vtLongInt, @cReadyDelay    , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   531
    RegisterVariable('casefreq', vtLongInt, @cCaseFactor    , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   532
    RegisterVariable('healthprob', vtLongInt, @cHealthCaseProb, false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   533
    RegisterVariable('hcaseamount', vtLongInt, @cHealthCaseAmount, false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   534
    RegisterVariable('sd_turns', vtLongInt, @cSuddenDTurns  , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   535
    RegisterVariable('waterrise', vtLongInt, @cWaterRise    , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   536
    RegisterVariable('healthdec', vtLongInt, @cHealthDecrease, false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   537
    RegisterVariable('damagepct',vtLongInt, @cDamagePercent , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   538
    RegisterVariable('ropepct' , vtLongInt, @cRopePercent   , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   539
    RegisterVariable('minedudpct',vtLongInt,@cMineDudPercent, false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   540
    RegisterVariable('minesnum', vtLongInt, @cLandMines     , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   541
    RegisterVariable('explosives',vtLongInt,@cExplosives    , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   542
    RegisterVariable('gmflags' , vtLongInt, @GameFlags      , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   543
    RegisterVariable('trflags' , vtLongInt, @TrainingFlags  , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   544
    RegisterVariable('turntime', vtLongInt, @cHedgehogTurnTime, false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   545
    RegisterVariable('minestime',vtLongInt, @cMinesTime     , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   546
    RegisterVariable('fort'    , vtCommand, @chFort         , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   547
    RegisterVariable('grave'   , vtCommand, @chGrave        , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   548
    RegisterVariable('hat'     , vtCommand, @chSetHat       , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   549
    RegisterVariable('quit'    , vtCommand, @chQuit         , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   550
    RegisterVariable('confirm' , vtCommand, @chConfirm      , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   551
    RegisterVariable('+speedup', vtCommand, @chSpeedup_p    , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   552
    RegisterVariable('-speedup', vtCommand, @chSpeedup_m    , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   553
    RegisterVariable('zoomin'  , vtCommand, @chZoomIn       , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   554
    RegisterVariable('zoomout' , vtCommand, @chZoomOut      , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   555
    RegisterVariable('zoomreset',vtCommand, @chZoomReset    , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   556
    RegisterVariable('ammomenu', vtCommand, @chAmmoMenu     , true);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   557
    RegisterVariable('+precise', vtCommand, @chPrecise_p    , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   558
    RegisterVariable('-precise', vtCommand, @chPrecise_m    , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   559
    RegisterVariable('+left'   , vtCommand, @chLeft_p       , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   560
    RegisterVariable('-left'   , vtCommand, @chLeft_m       , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   561
    RegisterVariable('+right'  , vtCommand, @chRight_p      , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   562
    RegisterVariable('-right'  , vtCommand, @chRight_m      , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   563
    RegisterVariable('+up'     , vtCommand, @chUp_p         , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   564
    RegisterVariable('-up'     , vtCommand, @chUp_m         , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   565
    RegisterVariable('+down'   , vtCommand, @chDown_p       , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   566
    RegisterVariable('-down'   , vtCommand, @chDown_m       , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   567
    RegisterVariable('+attack' , vtCommand, @chAttack_p     , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   568
    RegisterVariable('-attack' , vtCommand, @chAttack_m     , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   569
    RegisterVariable('switch'  , vtCommand, @chSwitch       , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   570
    RegisterVariable('nextturn', vtCommand, @chNextTurn     , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   571
    RegisterVariable('timer'   , vtCommand, @chTimer        , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   572
    RegisterVariable('taunt'   , vtCommand, @chTaunt        , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   573
    RegisterVariable('setweap' , vtCommand, @chSetWeapon    , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   574
    RegisterVariable('slot'    , vtCommand, @chSlot         , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   575
    RegisterVariable('put'     , vtCommand, @chPut          , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   576
    RegisterVariable('ljump'   , vtCommand, @chLJump        , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   577
    RegisterVariable('hjump'   , vtCommand, @chHJump        , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   578
    RegisterVariable('+volup'  , vtCommand, @chVol_p        , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   579
    RegisterVariable('-volup'  , vtCommand, @chVol_m        , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   580
    RegisterVariable('+voldown', vtCommand, @chVol_m        , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   581
    RegisterVariable('-voldown', vtCommand, @chVol_p        , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   582
    RegisterVariable('findhh'  , vtCommand, @chFindhh       , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   583
    RegisterVariable('pause'   , vtCommand, @chPause        , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   584
    RegisterVariable('+cur_u'  , vtCommand, @chCurU_p       , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   585
    RegisterVariable('-cur_u'  , vtCommand, @chCurU_m       , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   586
    RegisterVariable('+cur_d'  , vtCommand, @chCurD_p       , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   587
    RegisterVariable('-cur_d'  , vtCommand, @chCurD_m       , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   588
    RegisterVariable('+cur_l'  , vtCommand, @chCurL_p       , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   589
    RegisterVariable('-cur_l'  , vtCommand, @chCurL_m       , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   590
    RegisterVariable('+cur_r'  , vtCommand, @chCurR_p       , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   591
    RegisterVariable('-cur_r'  , vtCommand, @chCurR_m       , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   592
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   593
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   594
procedure freeModule;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   595
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   596
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   597
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   598
end.