hedgewars/uCommandHandlers.pas
author Henek
Mon, 13 Dec 2010 15:02:04 +0100
changeset 4517 0618b31023dc
parent 4437 05192cdbce9b
child 4522 0f590eefd531
permissions -rw-r--r--
added team flag to AddTeam and made AI team allowed to have custom flags. added GetGearVelocity and SetGearVelocity and removed CopyPV2. changed knockball to use use these functions instead.
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
4437
05192cdbce9b un-break build (wrong merge in uConsole) and update project file with the new sources
koda
parents: 4413
diff changeset
    10
uses uCommands, uTypes, uVariables, uIO, uDebug, uConsts, uScript, uUtils, SDLh, uRandom;
4413
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
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   323
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   324
procedure chTimer(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   325
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   326
if (s[0] <> #1) or (s[1] < '1') or (s[1] > '5') or CheckNoTeamOrHH then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   327
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   328
if not CurrentTeam^.ExtDriven then SendIPC(s);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   329
if ReadyTimeLeft > 1 then ReadyTimeLeft:= 1;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   330
bShowFinger:= false;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   331
with CurrentHedgehog^.Gear^ do
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   332
    begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   333
    Message:= Message or gmTimer;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   334
    MsgParam:= byte(s[1]) - ord('0')
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   335
    end
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   336
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   337
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   338
procedure chSlot(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   339
var slot: LongWord;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   340
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   341
if (s[0] <> #1) or CheckNoTeamOrHH then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   342
slot:= byte(s[1]) - 49;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   343
if slot > cMaxSlotIndex then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   344
if not CurrentTeam^.ExtDriven then SendIPC(char(byte(s[1]) + 79));
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   345
if ReadyTimeLeft > 1 then ReadyTimeLeft:= 1;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   346
bShowFinger:= false;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   347
with CurrentHedgehog^.Gear^ do
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   348
    begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   349
    Message:= Message or gmSlot;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   350
    MsgParam:= slot
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   351
    end
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   352
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   353
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   354
procedure chSetWeapon(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   355
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   356
    if (s[0] <> #1) or CheckNoTeamOrHH then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   357
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   358
    if TAmmoType(s[1]) > High(TAmmoType) then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   359
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   360
    if not CurrentTeam^.ExtDriven then SendIPC('w' + s);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   361
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   362
    with CurrentHedgehog^.Gear^ do
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   363
    begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   364
        Message:= Message or gmWeapon;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   365
        MsgParam:= byte(s[1]);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   366
    end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   367
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   368
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   369
procedure chTaunt(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   370
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   371
if (s[0] <> #1) or CheckNoTeamOrHH then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   372
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   373
if TWave(s[1]) > High(TWave) then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   374
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   375
if not CurrentTeam^.ExtDriven then SendIPC('t' + s);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   376
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   377
with CurrentHedgehog^.Gear^ do
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   378
    begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   379
    Message:= Message or gmAnimate;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   380
    MsgParam:= byte(s[1])
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   381
    end
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   382
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   383
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   384
procedure chPut(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   385
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   386
    s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   387
    doPut(0, 0, false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   388
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   389
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   390
procedure chCapture(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   391
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   392
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   393
flagMakeCapture:= true
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   394
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   395
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   396
procedure chSetMap(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   397
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   398
if isDeveloperMode then
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   399
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   400
Pathz[ptMapCurrent]:= Pathz[ptMaps] + '/' + s;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   401
InitStepsFlags:= InitStepsFlags or cifMap
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   402
end
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   403
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   404
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   405
procedure chSetTheme(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   406
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   407
if isDeveloperMode then
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   408
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   409
Pathz[ptCurrTheme]:= Pathz[ptThemes] + '/' + s;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   410
InitStepsFlags:= InitStepsFlags or cifTheme
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   411
end
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   412
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   413
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   414
procedure chSetSeed(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   415
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   416
if isDeveloperMode then
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   417
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   418
SetRandomSeed(s);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   419
cSeed:= s;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   420
InitStepsFlags:= InitStepsFlags or cifRandomize
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   421
end
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   422
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   423
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   424
procedure chAmmoMenu(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   425
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   426
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   427
if CheckNoTeamOrHH then
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   428
    bShowAmmoMenu:= true
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   429
else
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   430
    begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   431
    with CurrentTeam^ do
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   432
        with Hedgehogs[CurrHedgehog] do
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   433
            begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   434
            bSelected:= false;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   435
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   436
            if bShowAmmoMenu then bShowAmmoMenu:= false
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   437
            else if ((Gear^.State and (gstAttacking or gstAttacked)) <> 0) or
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   438
                    ((MultiShootAttacks > 0) and ((Ammoz[CurAmmoType].Ammo.Propz and ammoprop_NoRoundEnd) = 0)) or
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   439
                    ((Gear^.State and gstHHDriven) = 0) then else bShowAmmoMenu:= true
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   440
            end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   441
    if ReadyTimeLeft > 1 then ReadyTimeLeft:= 1
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   442
    end
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   443
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   444
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   445
procedure chVol_p(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   446
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   447
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   448
inc(cVolumeDelta, 3)
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   449
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   450
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   451
procedure chVol_m(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   452
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   453
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   454
dec(cVolumeDelta, 3)
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   455
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   456
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   457
procedure chFindhh(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   458
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   459
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   460
if CheckNoTeamOrHH or isPaused then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   461
bShowFinger:= true;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   462
FollowGear:= CurrentHedgehog^.Gear
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   463
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   464
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   465
procedure chPause(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   466
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   467
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   468
if ReadyTimeLeft > 1 then ReadyTimeLeft:= 1;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   469
if gameType <> gmtNet then
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   470
    isPaused:= not isPaused;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   471
SDL_ShowCursor(ord(isPaused))
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   472
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   473
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   474
procedure chRotateMask(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   475
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   476
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   477
if ((GameFlags and gfInvulnerable) = 0) then cTagsMask:= cTagsMasks[cTagsMask] else cTagsMask:= cTagsMasksNoHealth[cTagsMask];
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   478
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   479
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   480
procedure chSpeedup_p(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   481
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   482
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   483
isSpeed:= true
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   484
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   485
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   486
procedure chSpeedup_m(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   487
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   488
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   489
isSpeed:= false
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   490
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   491
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   492
procedure chZoomIn(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   493
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   494
    s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   495
    if ZoomValue < cMinZoomLevel then
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   496
        ZoomValue:= ZoomValue + cZoomDelta;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   497
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   498
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   499
procedure chZoomOut(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   500
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   501
    s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   502
    if ZoomValue > cMaxZoomLevel then
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   503
        ZoomValue:= ZoomValue - cZoomDelta;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   504
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   505
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   506
procedure chZoomReset(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   507
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   508
    s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   509
    ZoomValue:= cDefaultZoomLevel;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   510
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   511
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   512
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   513
procedure initModule;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   514
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   515
    RegisterVariable('flag'    , vtCommand, @chFlag         , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   516
    RegisterVariable('script'  , vtCommand, @chScript       , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   517
    RegisterVariable('proto'   , vtCommand, @chCheckProto   , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   518
    RegisterVariable('spectate', vtBoolean, @fastUntilLag   , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   519
    RegisterVariable('capture' , vtCommand, @chCapture      , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   520
    RegisterVariable('rotmask' , vtCommand, @chRotateMask   , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   521
    RegisterVariable('rdriven' , vtCommand, @chTeamLocal    , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   522
    RegisterVariable('map'     , vtCommand, @chSetMap       , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   523
    RegisterVariable('theme'   , vtCommand, @chSetTheme     , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   524
    RegisterVariable('seed'    , vtCommand, @chSetSeed      , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   525
    RegisterVariable('template_filter', vtLongInt, @cTemplateFilter, false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   526
    RegisterVariable('mapgen'  , vtLongInt, @cMapGen        , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   527
    RegisterVariable('maze_size',vtLongInt, @cMazeSize      , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   528
    RegisterVariable('delay'   , vtLongInt, @cInactDelay    , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   529
    RegisterVariable('ready'   , vtLongInt, @cReadyDelay    , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   530
    RegisterVariable('casefreq', vtLongInt, @cCaseFactor    , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   531
    RegisterVariable('healthprob', vtLongInt, @cHealthCaseProb, false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   532
    RegisterVariable('hcaseamount', vtLongInt, @cHealthCaseAmount, false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   533
    RegisterVariable('sd_turns', vtLongInt, @cSuddenDTurns  , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   534
    RegisterVariable('waterrise', vtLongInt, @cWaterRise    , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   535
    RegisterVariable('healthdec', vtLongInt, @cHealthDecrease, false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   536
    RegisterVariable('damagepct',vtLongInt, @cDamagePercent , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   537
    RegisterVariable('ropepct' , vtLongInt, @cRopePercent   , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   538
    RegisterVariable('minedudpct',vtLongInt,@cMineDudPercent, false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   539
    RegisterVariable('minesnum', vtLongInt, @cLandMines     , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   540
    RegisterVariable('explosives',vtLongInt,@cExplosives    , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   541
    RegisterVariable('gmflags' , vtLongInt, @GameFlags      , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   542
    RegisterVariable('trflags' , vtLongInt, @TrainingFlags  , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   543
    RegisterVariable('turntime', vtLongInt, @cHedgehogTurnTime, false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   544
    RegisterVariable('minestime',vtLongInt, @cMinesTime     , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   545
    RegisterVariable('fort'    , vtCommand, @chFort         , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   546
    RegisterVariable('grave'   , vtCommand, @chGrave        , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   547
    RegisterVariable('hat'     , vtCommand, @chSetHat       , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   548
    RegisterVariable('quit'    , vtCommand, @chQuit         , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   549
    RegisterVariable('confirm' , vtCommand, @chConfirm      , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   550
    RegisterVariable('+speedup', vtCommand, @chSpeedup_p    , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   551
    RegisterVariable('-speedup', vtCommand, @chSpeedup_m    , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   552
    RegisterVariable('zoomin'  , vtCommand, @chZoomIn       , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   553
    RegisterVariable('zoomout' , vtCommand, @chZoomOut      , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   554
    RegisterVariable('zoomreset',vtCommand, @chZoomReset    , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   555
    RegisterVariable('ammomenu', vtCommand, @chAmmoMenu     , true);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   556
    RegisterVariable('+precise', vtCommand, @chPrecise_p    , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   557
    RegisterVariable('-precise', vtCommand, @chPrecise_m    , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   558
    RegisterVariable('+left'   , vtCommand, @chLeft_p       , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   559
    RegisterVariable('-left'   , vtCommand, @chLeft_m       , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   560
    RegisterVariable('+right'  , vtCommand, @chRight_p      , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   561
    RegisterVariable('-right'  , vtCommand, @chRight_m      , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   562
    RegisterVariable('+up'     , vtCommand, @chUp_p         , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   563
    RegisterVariable('-up'     , vtCommand, @chUp_m         , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   564
    RegisterVariable('+down'   , vtCommand, @chDown_p       , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   565
    RegisterVariable('-down'   , vtCommand, @chDown_m       , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   566
    RegisterVariable('+attack' , vtCommand, @chAttack_p     , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   567
    RegisterVariable('-attack' , vtCommand, @chAttack_m     , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   568
    RegisterVariable('switch'  , vtCommand, @chSwitch       , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   569
    RegisterVariable('nextturn', vtCommand, @chNextTurn     , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   570
    RegisterVariable('timer'   , vtCommand, @chTimer        , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   571
    RegisterVariable('taunt'   , vtCommand, @chTaunt        , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   572
    RegisterVariable('setweap' , vtCommand, @chSetWeapon    , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   573
    RegisterVariable('slot'    , vtCommand, @chSlot         , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   574
    RegisterVariable('put'     , vtCommand, @chPut          , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   575
    RegisterVariable('ljump'   , vtCommand, @chLJump        , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   576
    RegisterVariable('hjump'   , vtCommand, @chHJump        , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   577
    RegisterVariable('+volup'  , vtCommand, @chVol_p        , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   578
    RegisterVariable('-volup'  , vtCommand, @chVol_m        , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   579
    RegisterVariable('+voldown', vtCommand, @chVol_m        , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   580
    RegisterVariable('-voldown', vtCommand, @chVol_p        , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   581
    RegisterVariable('findhh'  , vtCommand, @chFindhh       , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   582
    RegisterVariable('pause'   , vtCommand, @chPause        , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   583
    RegisterVariable('+cur_u'  , vtCommand, @chCurU_p       , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   584
    RegisterVariable('-cur_u'  , vtCommand, @chCurU_m       , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   585
    RegisterVariable('+cur_d'  , vtCommand, @chCurD_p       , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   586
    RegisterVariable('-cur_d'  , vtCommand, @chCurD_m       , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   587
    RegisterVariable('+cur_l'  , vtCommand, @chCurL_p       , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   588
    RegisterVariable('-cur_l'  , vtCommand, @chCurL_m       , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   589
    RegisterVariable('+cur_r'  , vtCommand, @chCurR_p       , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   590
    RegisterVariable('-cur_r'  , vtCommand, @chCurR_m       , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   591
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   592
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   593
procedure freeModule;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   594
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   595
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   596
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   597
end.