hedgewars/uCommandHandlers.pas
author nemo
Sun, 30 Jan 2011 17:54:02 -0500
changeset 4889 f71e30eb1d37
parent 4845 9a0f5377c529
child 4900 8ad0e23e6d63
permissions -rw-r--r--
Reset things using team colour on change in SetClanColor in lua. This routine had better have been worth it. Also add GearHidden to health recount. Oh. and NEEDS TESTING.
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
4531
4ea193b0e378 Reenable ReadyTimer using a synced message NEEDS TESTING.
nemo
parents: 4528
diff changeset
    12
procedure chGenCmd(var s: shortstring);
4ea193b0e378 Reenable ReadyTimer using a synced message NEEDS TESTING.
nemo
parents: 4528
diff changeset
    13
begin
4ea193b0e378 Reenable ReadyTimer using a synced message NEEDS TESTING.
nemo
parents: 4528
diff changeset
    14
case s[1] of
4ea193b0e378 Reenable ReadyTimer using a synced message NEEDS TESTING.
nemo
parents: 4528
diff changeset
    15
     'R': if ReadyTimeLeft > 1 then 
4ea193b0e378 Reenable ReadyTimer using a synced message NEEDS TESTING.
nemo
parents: 4528
diff changeset
    16
          begin
4ea193b0e378 Reenable ReadyTimer using a synced message NEEDS TESTING.
nemo
parents: 4528
diff changeset
    17
          ReadyTimeLeft:= 1;
4ea193b0e378 Reenable ReadyTimer using a synced message NEEDS TESTING.
nemo
parents: 4528
diff changeset
    18
          if not CurrentTeam^.ExtDriven then SendIPC('c'+s);
4ea193b0e378 Reenable ReadyTimer using a synced message NEEDS TESTING.
nemo
parents: 4528
diff changeset
    19
          end
4ea193b0e378 Reenable ReadyTimer using a synced message NEEDS TESTING.
nemo
parents: 4528
diff changeset
    20
    end
4ea193b0e378 Reenable ReadyTimer using a synced message NEEDS TESTING.
nemo
parents: 4528
diff changeset
    21
end;
4ea193b0e378 Reenable ReadyTimer using a synced message NEEDS TESTING.
nemo
parents: 4528
diff changeset
    22
4413
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    23
procedure chQuit(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    24
const prevGState: TGameState = gsConfirm;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    25
begin
4751
849740a91d36 possible fix hanging server on ctlr+w
koda
parents: 4746
diff changeset
    26
    s:= s; // avoid compiler hint
849740a91d36 possible fix hanging server on ctlr+w
koda
parents: 4746
diff changeset
    27
    if GameState <> gsConfirm then
849740a91d36 possible fix hanging server on ctlr+w
koda
parents: 4746
diff changeset
    28
    begin
4413
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    29
        prevGState:= GameState;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    30
        GameState:= gsConfirm
4751
849740a91d36 possible fix hanging server on ctlr+w
koda
parents: 4746
diff changeset
    31
    end else
849740a91d36 possible fix hanging server on ctlr+w
koda
parents: 4746
diff changeset
    32
    GameState:= prevGState
4413
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    33
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    34
4744
ecc2c757d0df general uKey refactor in preparaiton of two new shortcuts
koda
parents: 4661
diff changeset
    35
procedure chForceQuit(var s: shortstring);
ecc2c757d0df general uKey refactor in preparaiton of two new shortcuts
koda
parents: 4661
diff changeset
    36
begin
ecc2c757d0df general uKey refactor in preparaiton of two new shortcuts
koda
parents: 4661
diff changeset
    37
    s:= s; // avoid compiler hint
4751
849740a91d36 possible fix hanging server on ctlr+w
koda
parents: 4746
diff changeset
    38
    GameState:= gsConfirm;
849740a91d36 possible fix hanging server on ctlr+w
koda
parents: 4746
diff changeset
    39
    ParseCommand('confirm', true);
4413
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    40
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    41
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    42
procedure chConfirm(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    43
begin
4751
849740a91d36 possible fix hanging server on ctlr+w
koda
parents: 4746
diff changeset
    44
    s:= s; // avoid compiler hint
849740a91d36 possible fix hanging server on ctlr+w
koda
parents: 4746
diff changeset
    45
    if GameState = gsConfirm then
4413
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    46
    begin
4751
849740a91d36 possible fix hanging server on ctlr+w
koda
parents: 4746
diff changeset
    47
        SendIPC('Q');
849740a91d36 possible fix hanging server on ctlr+w
koda
parents: 4746
diff changeset
    48
        GameState:= gsExit
4413
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    49
    end
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    50
else
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    51
    ParseCommand('chat team', true);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    52
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    53
4751
849740a91d36 possible fix hanging server on ctlr+w
koda
parents: 4746
diff changeset
    54
procedure chHalt (var s: shortstring);
4746
3ae448aebe7e implemented actions for closing/enging program (needs testing over the net)
koda
parents: 4744
diff changeset
    55
begin
3ae448aebe7e implemented actions for closing/enging program (needs testing over the net)
koda
parents: 4744
diff changeset
    56
    s:= s; // avoid compiler hint
3ae448aebe7e implemented actions for closing/enging program (needs testing over the net)
koda
parents: 4744
diff changeset
    57
    SendIPC('H');
3ae448aebe7e implemented actions for closing/enging program (needs testing over the net)
koda
parents: 4744
diff changeset
    58
    GameState:= gsExit
3ae448aebe7e implemented actions for closing/enging program (needs testing over the net)
koda
parents: 4744
diff changeset
    59
end;
3ae448aebe7e implemented actions for closing/enging program (needs testing over the net)
koda
parents: 4744
diff changeset
    60
4413
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    61
procedure chCheckProto(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    62
var i, c: LongInt;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    63
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    64
if isDeveloperMode then
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    65
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    66
val(s, i, c);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    67
if (c <> 0) or (i = 0) then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    68
TryDo(i <= cNetProtoVersion, 'Protocol version mismatch: engine is too old', true);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    69
TryDo(i >= cNetProtoVersion, 'Protocol version mismatch: engine is too new', true)
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    70
end
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    71
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    72
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    73
procedure chTeamLocal(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    74
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    75
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    76
if not isDeveloperMode then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    77
if CurrentTeam = nil then OutError(errmsgIncorrectUse + ' "/rdriven"', true);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    78
CurrentTeam^.ExtDriven:= true
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    79
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    80
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    81
procedure chGrave(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    82
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    83
if CurrentTeam = nil then OutError(errmsgIncorrectUse + ' "/grave"', true);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    84
if s[1]='"' then Delete(s, 1, 1);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    85
if s[byte(s[0])]='"' then Delete(s, byte(s[0]), 1);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    86
CurrentTeam^.GraveName:= s
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    87
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    88
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    89
procedure chFort(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    90
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    91
if CurrentTeam = nil then OutError(errmsgIncorrectUse + ' "/fort"', true);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    92
if s[1]='"' then Delete(s, 1, 1);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    93
if s[byte(s[0])]='"' then Delete(s, byte(s[0]), 1);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    94
CurrentTeam^.FortName:= s
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    95
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    96
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    97
procedure chFlag(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    98
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
    99
if CurrentTeam = nil then OutError(errmsgIncorrectUse + ' "/flag"', true);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   100
if s[1]='"' then Delete(s, 1, 1);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   101
if s[byte(s[0])]='"' then Delete(s, byte(s[0]), 1);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   102
CurrentTeam^.flag:= s
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   103
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   104
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   105
procedure chScript(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   106
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   107
if s[1]='"' then Delete(s, 1, 1);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   108
if s[byte(s[0])]='"' then Delete(s, byte(s[0]), 1);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   109
ScriptLoad(s)
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   110
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   111
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   112
procedure chSetHat(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   113
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   114
if (not isDeveloperMode) or (CurrentTeam = nil) then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   115
with CurrentTeam^ do
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   116
    begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   117
    if not CurrentHedgehog^.King then
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   118
    if (s = '') or
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   119
        (((GameFlags and gfKing) <> 0) and (s = 'crown')) or
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   120
        ((Length(s) > 39) and (Copy(s,1,8) = 'Reserved') and (Copy(s,9,32) <> PlayerHash)) then
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   121
        CurrentHedgehog^.Hat:= 'NoHat'
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   122
    else
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   123
        CurrentHedgehog^.Hat:= s
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   124
    end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   125
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   126
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   127
procedure chCurU_p(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   128
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   129
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   130
CursorMovementY:= -1;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   131
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   132
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   133
procedure chCurU_m(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   134
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   135
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   136
CursorMovementY:= 0;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   137
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   138
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   139
procedure chCurD_p(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   140
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   141
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   142
CursorMovementY:= 1;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   143
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   144
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   145
procedure chCurD_m(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   146
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   147
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   148
CursorMovementY:= 0;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   149
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   150
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   151
procedure chCurL_p(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   152
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   153
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   154
CursorMovementX:= -1;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   155
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   156
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   157
procedure chCurL_m(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   158
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   159
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   160
CursorMovementX:= 0;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   161
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   162
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   163
procedure chCurR_p(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   164
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   165
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   166
CursorMovementX:= 1;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   167
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   168
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   169
procedure chCurR_m(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   170
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   171
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   172
CursorMovementX:= 0;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   173
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   174
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   175
procedure chLeft_p(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   176
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   177
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   178
if CheckNoTeamOrHH or isPaused then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   179
if not CurrentTeam^.ExtDriven then SendIPC('L');
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   180
bShowFinger:= false;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   181
with CurrentHedgehog^.Gear^ do
4661
f5d858e4b634 Whole ton of script callbacks on commands. Poor engine.
mikade
parents: 4611
diff changeset
   182
    Message:= Message or (gmLeft and InputMask);
f5d858e4b634 Whole ton of script callbacks on commands. Poor engine.
mikade
parents: 4611
diff changeset
   183
    ScriptCall('onLeft');
4413
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   184
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   185
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   186
procedure chLeft_m(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   187
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   188
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   189
if CheckNoTeamOrHH then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   190
if not CurrentTeam^.ExtDriven then SendIPC('l');
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   191
with CurrentHedgehog^.Gear^ do
4661
f5d858e4b634 Whole ton of script callbacks on commands. Poor engine.
mikade
parents: 4611
diff changeset
   192
    Message:= Message and not (gmLeft and InputMask);
f5d858e4b634 Whole ton of script callbacks on commands. Poor engine.
mikade
parents: 4611
diff changeset
   193
    ScriptCall('onLeftUp');
4413
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   194
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   195
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   196
procedure chRight_p(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   197
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   198
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   199
if CheckNoTeamOrHH or isPaused then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   200
if not CurrentTeam^.ExtDriven then SendIPC('R');
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   201
bShowFinger:= false;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   202
with CurrentHedgehog^.Gear^ do
4661
f5d858e4b634 Whole ton of script callbacks on commands. Poor engine.
mikade
parents: 4611
diff changeset
   203
    Message:= Message or (gmRight and InputMask);
f5d858e4b634 Whole ton of script callbacks on commands. Poor engine.
mikade
parents: 4611
diff changeset
   204
    ScriptCall('onRight');
4413
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   205
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   206
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   207
procedure chRight_m(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   208
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   209
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   210
if CheckNoTeamOrHH then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   211
if not CurrentTeam^.ExtDriven then SendIPC('r');
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   212
with CurrentHedgehog^.Gear^ do
4661
f5d858e4b634 Whole ton of script callbacks on commands. Poor engine.
mikade
parents: 4611
diff changeset
   213
    Message:= Message and not (gmRight and InputMask);
f5d858e4b634 Whole ton of script callbacks on commands. Poor engine.
mikade
parents: 4611
diff changeset
   214
    ScriptCall('onRightUp');
4413
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   215
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   216
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   217
procedure chUp_p(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   218
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   219
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   220
if CheckNoTeamOrHH or isPaused then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   221
if not CurrentTeam^.ExtDriven then SendIPC('U');
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   222
bShowFinger:= false;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   223
with CurrentHedgehog^.Gear^ do
4661
f5d858e4b634 Whole ton of script callbacks on commands. Poor engine.
mikade
parents: 4611
diff changeset
   224
    Message:= Message or (gmUp and InputMask);
f5d858e4b634 Whole ton of script callbacks on commands. Poor engine.
mikade
parents: 4611
diff changeset
   225
    ScriptCall('onUp');
4413
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   226
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   227
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   228
procedure chUp_m(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   229
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   230
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   231
if CheckNoTeamOrHH then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   232
if not CurrentTeam^.ExtDriven then SendIPC('u');
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   233
with CurrentHedgehog^.Gear^ do
4522
0f590eefd531 Add an input mask for setting of gear messages. Intended for intercepting user messages. This is totally untested. I don't think it should desync but seriously needs a lot of testing. Esp the doPut behaviour.
nemo
parents: 4437
diff changeset
   234
    Message:= Message and not (gmUp and InputMask);
4661
f5d858e4b634 Whole ton of script callbacks on commands. Poor engine.
mikade
parents: 4611
diff changeset
   235
    ScriptCall('onUpUp');
4413
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   236
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   237
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   238
procedure chDown_p(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   239
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   240
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   241
if CheckNoTeamOrHH or isPaused then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   242
if not CurrentTeam^.ExtDriven then SendIPC('D');
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   243
bShowFinger:= false;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   244
with CurrentHedgehog^.Gear^ do
4661
f5d858e4b634 Whole ton of script callbacks on commands. Poor engine.
mikade
parents: 4611
diff changeset
   245
    Message:= Message or (gmDown and InputMask);
f5d858e4b634 Whole ton of script callbacks on commands. Poor engine.
mikade
parents: 4611
diff changeset
   246
    ScriptCall('onDown');
4413
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   247
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   248
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   249
procedure chDown_m(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   250
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   251
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   252
if CheckNoTeamOrHH then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   253
if not CurrentTeam^.ExtDriven then SendIPC('d');
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   254
with CurrentHedgehog^.Gear^ do
4661
f5d858e4b634 Whole ton of script callbacks on commands. Poor engine.
mikade
parents: 4611
diff changeset
   255
    Message:= Message and not (gmDown and InputMask);
f5d858e4b634 Whole ton of script callbacks on commands. Poor engine.
mikade
parents: 4611
diff changeset
   256
    ScriptCall('onDownUp');
4413
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   257
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   258
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   259
procedure chPrecise_p(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   260
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   261
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   262
if CheckNoTeamOrHH or isPaused then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   263
if not CurrentTeam^.ExtDriven then SendIPC('Z');
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   264
bShowFinger:= false;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   265
with CurrentHedgehog^.Gear^ do
4522
0f590eefd531 Add an input mask for setting of gear messages. Intended for intercepting user messages. This is totally untested. I don't think it should desync but seriously needs a lot of testing. Esp the doPut behaviour.
nemo
parents: 4437
diff changeset
   266
    Message:= Message or (gmPrecise and InputMask);
4661
f5d858e4b634 Whole ton of script callbacks on commands. Poor engine.
mikade
parents: 4611
diff changeset
   267
    ScriptCall('onPrecise');
4413
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   268
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   269
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   270
procedure chPrecise_m(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   271
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   272
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   273
if CheckNoTeamOrHH then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   274
if not CurrentTeam^.ExtDriven then SendIPC('z');
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   275
with CurrentHedgehog^.Gear^ do
4522
0f590eefd531 Add an input mask for setting of gear messages. Intended for intercepting user messages. This is totally untested. I don't think it should desync but seriously needs a lot of testing. Esp the doPut behaviour.
nemo
parents: 4437
diff changeset
   276
    Message:= Message and not (gmPrecise and InputMask);
4661
f5d858e4b634 Whole ton of script callbacks on commands. Poor engine.
mikade
parents: 4611
diff changeset
   277
    ScriptCall('onPreciseUp');
4413
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   278
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   279
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   280
procedure chLJump(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   281
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   282
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   283
if CheckNoTeamOrHH or isPaused then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   284
if not CurrentTeam^.ExtDriven then SendIPC('j');
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   285
bShowFinger:= false;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   286
with CurrentHedgehog^.Gear^ do
4661
f5d858e4b634 Whole ton of script callbacks on commands. Poor engine.
mikade
parents: 4611
diff changeset
   287
    Message:= Message or (gmLJump and InputMask);
f5d858e4b634 Whole ton of script callbacks on commands. Poor engine.
mikade
parents: 4611
diff changeset
   288
    ScriptCall('onLJump');
4413
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   289
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   290
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   291
procedure chHJump(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   292
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   293
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   294
if CheckNoTeamOrHH or isPaused then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   295
if not CurrentTeam^.ExtDriven then SendIPC('J');
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   296
bShowFinger:= false;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   297
with CurrentHedgehog^.Gear^ do
4661
f5d858e4b634 Whole ton of script callbacks on commands. Poor engine.
mikade
parents: 4611
diff changeset
   298
    Message:= Message or (gmHJump and InputMask);
f5d858e4b634 Whole ton of script callbacks on commands. Poor engine.
mikade
parents: 4611
diff changeset
   299
    ScriptCall('onHJump');
4413
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   300
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   301
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   302
procedure chAttack_p(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
bShowFinger:= false;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   307
with CurrentHedgehog^.Gear^ do
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   308
    begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   309
    {$IFDEF DEBUGFILE}AddFileLog('/+attack: hedgehog''s Gear^.State = '+inttostr(State));{$ENDIF}
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   310
    if ((State and gstHHDriven) <> 0) then
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   311
        begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   312
        FollowGear:= CurrentHedgehog^.Gear;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   313
        if not CurrentTeam^.ExtDriven then SendIPC('A');
4661
f5d858e4b634 Whole ton of script callbacks on commands. Poor engine.
mikade
parents: 4611
diff changeset
   314
        Message:= Message or (gmAttack and InputMask);
f5d858e4b634 Whole ton of script callbacks on commands. Poor engine.
mikade
parents: 4611
diff changeset
   315
	ScriptCall('onAttack');
4413
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   316
        end
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   317
    end
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   318
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   319
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   320
procedure chAttack_m(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   321
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   322
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   323
if CheckNoTeamOrHH then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   324
with CurrentHedgehog^.Gear^ do
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   325
    begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   326
    if not CurrentTeam^.ExtDriven and
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   327
        ((Message and gmAttack) <> 0) then SendIPC('a');
4661
f5d858e4b634 Whole ton of script callbacks on commands. Poor engine.
mikade
parents: 4611
diff changeset
   328
    Message:= Message and not (gmAttack and InputMask);
f5d858e4b634 Whole ton of script callbacks on commands. Poor engine.
mikade
parents: 4611
diff changeset
   329
    ScriptCall('onAttackUp');
4413
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   330
    end
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   331
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   332
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   333
procedure chSwitch(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   334
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   335
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   336
if CheckNoTeamOrHH or isPaused then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   337
if not CurrentTeam^.ExtDriven then SendIPC('S');
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   338
bShowFinger:= false;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   339
with CurrentHedgehog^.Gear^ do
4661
f5d858e4b634 Whole ton of script callbacks on commands. Poor engine.
mikade
parents: 4611
diff changeset
   340
    Message:= Message or (gmSwitch and InputMask);
f5d858e4b634 Whole ton of script callbacks on commands. Poor engine.
mikade
parents: 4611
diff changeset
   341
    ScriptCall('onSwitch');
4413
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   342
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   343
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   344
procedure chNextTurn(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   345
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   346
    s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   347
    TryDo(AllInactive, '/nextturn called when not all gears are inactive', true);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   348
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   349
    if not CurrentTeam^.ExtDriven then SendIPC('N');
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   350
{$IFDEF DEBUGFILE}
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   351
    AddFileLog('Doing SwitchHedgehog: time '+inttostr(GameTicks));
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   352
{$ENDIF}
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   353
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   354
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   355
procedure chTimer(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   356
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   357
if (s[0] <> #1) or (s[1] < '1') or (s[1] > '5') or CheckNoTeamOrHH then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   358
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   359
if not CurrentTeam^.ExtDriven then SendIPC(s);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   360
bShowFinger:= false;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   361
with CurrentHedgehog^.Gear^ do
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   362
    begin
4522
0f590eefd531 Add an input mask for setting of gear messages. Intended for intercepting user messages. This is totally untested. I don't think it should desync but seriously needs a lot of testing. Esp the doPut behaviour.
nemo
parents: 4437
diff changeset
   363
    Message:= Message or (gmTimer and InputMask);
4661
f5d858e4b634 Whole ton of script callbacks on commands. Poor engine.
mikade
parents: 4611
diff changeset
   364
    MsgParam:= byte(s[1]) - ord('0');
f5d858e4b634 Whole ton of script callbacks on commands. Poor engine.
mikade
parents: 4611
diff changeset
   365
    ScriptCall('onTimer');
4413
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 chSlot(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   370
var slot: LongWord;
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
slot:= byte(s[1]) - 49;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   374
if slot > cMaxSlotIndex then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   375
if not CurrentTeam^.ExtDriven then SendIPC(char(byte(s[1]) + 79));
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   376
bShowFinger:= false;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   377
with CurrentHedgehog^.Gear^ do
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   378
    begin
4522
0f590eefd531 Add an input mask for setting of gear messages. Intended for intercepting user messages. This is totally untested. I don't think it should desync but seriously needs a lot of testing. Esp the doPut behaviour.
nemo
parents: 4437
diff changeset
   379
    Message:= Message or (gmSlot and InputMask);
4661
f5d858e4b634 Whole ton of script callbacks on commands. Poor engine.
mikade
parents: 4611
diff changeset
   380
    MsgParam:= slot; 
f5d858e4b634 Whole ton of script callbacks on commands. Poor engine.
mikade
parents: 4611
diff changeset
   381
    ScriptCall('onSlot');
4413
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 chSetWeapon(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   386
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   387
    if (s[0] <> #1) or CheckNoTeamOrHH then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   388
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   389
    if TAmmoType(s[1]) > High(TAmmoType) then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   390
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   391
    if not CurrentTeam^.ExtDriven then SendIPC('w' + s);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   392
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   393
    with CurrentHedgehog^.Gear^ do
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   394
    begin
4522
0f590eefd531 Add an input mask for setting of gear messages. Intended for intercepting user messages. This is totally untested. I don't think it should desync but seriously needs a lot of testing. Esp the doPut behaviour.
nemo
parents: 4437
diff changeset
   395
        Message:= Message or (gmWeapon and InputMask);
4413
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   396
        MsgParam:= byte(s[1]);
4661
f5d858e4b634 Whole ton of script callbacks on commands. Poor engine.
mikade
parents: 4611
diff changeset
   397
	ScriptCall('onSetWeapon');
4413
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   398
    end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   399
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   400
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   401
procedure chTaunt(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   402
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   403
if (s[0] <> #1) or CheckNoTeamOrHH then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   404
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   405
if TWave(s[1]) > High(TWave) then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   406
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   407
if not CurrentTeam^.ExtDriven then SendIPC('t' + s);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   408
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   409
with CurrentHedgehog^.Gear^ do
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   410
    begin
4522
0f590eefd531 Add an input mask for setting of gear messages. Intended for intercepting user messages. This is totally untested. I don't think it should desync but seriously needs a lot of testing. Esp the doPut behaviour.
nemo
parents: 4437
diff changeset
   411
    Message:= Message or (gmAnimate and InputMask);
4661
f5d858e4b634 Whole ton of script callbacks on commands. Poor engine.
mikade
parents: 4611
diff changeset
   412
    MsgParam:= byte(s[1]) ; 
f5d858e4b634 Whole ton of script callbacks on commands. Poor engine.
mikade
parents: 4611
diff changeset
   413
    ScriptCall('onTaunt');
4413
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   414
    end
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   415
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   416
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   417
procedure chPut(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   418
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   419
    s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   420
    doPut(0, 0, false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   421
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   422
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   423
procedure chCapture(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   424
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   425
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   426
flagMakeCapture:= true
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   427
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   428
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   429
procedure chSetMap(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   430
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   431
if isDeveloperMode then
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   432
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   433
Pathz[ptMapCurrent]:= Pathz[ptMaps] + '/' + s;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   434
InitStepsFlags:= InitStepsFlags or cifMap
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   435
end
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   436
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   437
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   438
procedure chSetTheme(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   439
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   440
if isDeveloperMode then
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   441
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   442
Pathz[ptCurrTheme]:= Pathz[ptThemes] + '/' + s;
4611
445d382cd401 A very very basic snow implementation
nemo
parents: 4532
diff changeset
   443
Theme:= s;
4413
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   444
InitStepsFlags:= InitStepsFlags or cifTheme
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   445
end
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   446
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   447
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   448
procedure chSetSeed(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   449
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   450
if isDeveloperMode then
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   451
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   452
SetRandomSeed(s);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   453
cSeed:= s;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   454
InitStepsFlags:= InitStepsFlags or cifRandomize
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   455
end
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   456
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   457
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   458
procedure chAmmoMenu(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 then
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   462
    bShowAmmoMenu:= true
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   463
else
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   464
    begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   465
    with CurrentTeam^ do
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   466
        with Hedgehogs[CurrHedgehog] do
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   467
            begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   468
            bSelected:= false;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   469
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   470
            if bShowAmmoMenu then bShowAmmoMenu:= false
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   471
            else if ((Gear^.State and (gstAttacking or gstAttacked)) <> 0) or
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   472
                    ((MultiShootAttacks > 0) and ((Ammoz[CurAmmoType].Ammo.Propz and ammoprop_NoRoundEnd) = 0)) or
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   473
                    ((Gear^.State and gstHHDriven) = 0) then else bShowAmmoMenu:= true
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   474
            end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   475
    end
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   476
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   477
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   478
procedure chVol_p(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   479
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   480
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   481
inc(cVolumeDelta, 3)
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   482
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   483
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   484
procedure chVol_m(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   485
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   486
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   487
dec(cVolumeDelta, 3)
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   488
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   489
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   490
procedure chFindhh(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   491
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   492
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   493
if CheckNoTeamOrHH or isPaused then exit;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   494
bShowFinger:= true;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   495
FollowGear:= CurrentHedgehog^.Gear
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   496
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   497
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   498
procedure chPause(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   499
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   500
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   501
if gameType <> gmtNet then
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   502
    isPaused:= not isPaused;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   503
SDL_ShowCursor(ord(isPaused))
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   504
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   505
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   506
procedure chRotateMask(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
if ((GameFlags and gfInvulnerable) = 0) then cTagsMask:= cTagsMasks[cTagsMask] else cTagsMask:= cTagsMasksNoHealth[cTagsMask];
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   510
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   511
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   512
procedure chSpeedup_p(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   513
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   514
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   515
isSpeed:= true
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   516
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   517
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   518
procedure chSpeedup_m(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   519
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   520
s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   521
isSpeed:= false
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   522
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   523
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   524
procedure chZoomIn(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   525
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   526
    s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   527
    if ZoomValue < cMinZoomLevel then
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   528
        ZoomValue:= ZoomValue + cZoomDelta;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   529
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   530
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   531
procedure chZoomOut(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   532
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   533
    s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   534
    if ZoomValue > cMaxZoomLevel then
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   535
        ZoomValue:= ZoomValue - cZoomDelta;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   536
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   537
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   538
procedure chZoomReset(var s: shortstring);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   539
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   540
    s:= s; // avoid compiler hint
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   541
    ZoomValue:= cDefaultZoomLevel;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   542
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   543
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   544
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   545
procedure initModule;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   546
begin
4528
630f4ab0c926 Reorder top registered variables by frequency gathered from 60 or so games of varying length/type. Oh. And add green hair to joker.
nemo
parents: 4522
diff changeset
   547
//////// Begin top sorted by freq analysis not including chatmsg
630f4ab0c926 Reorder top registered variables by frequency gathered from 60 or so games of varying length/type. Oh. And add green hair to joker.
nemo
parents: 4522
diff changeset
   548
    RegisterVariable('+right'  , vtCommand, @chRight_p      , false);
630f4ab0c926 Reorder top registered variables by frequency gathered from 60 or so games of varying length/type. Oh. And add green hair to joker.
nemo
parents: 4522
diff changeset
   549
    RegisterVariable('-right'  , vtCommand, @chRight_m      , false);
630f4ab0c926 Reorder top registered variables by frequency gathered from 60 or so games of varying length/type. Oh. And add green hair to joker.
nemo
parents: 4522
diff changeset
   550
    RegisterVariable('+up'     , vtCommand, @chUp_p         , false);
630f4ab0c926 Reorder top registered variables by frequency gathered from 60 or so games of varying length/type. Oh. And add green hair to joker.
nemo
parents: 4522
diff changeset
   551
    RegisterVariable('-up'     , vtCommand, @chUp_m         , false);
630f4ab0c926 Reorder top registered variables by frequency gathered from 60 or so games of varying length/type. Oh. And add green hair to joker.
nemo
parents: 4522
diff changeset
   552
    RegisterVariable('+left'   , vtCommand, @chLeft_p       , false);
630f4ab0c926 Reorder top registered variables by frequency gathered from 60 or so games of varying length/type. Oh. And add green hair to joker.
nemo
parents: 4522
diff changeset
   553
    RegisterVariable('-left'   , vtCommand, @chLeft_m       , false);
630f4ab0c926 Reorder top registered variables by frequency gathered from 60 or so games of varying length/type. Oh. And add green hair to joker.
nemo
parents: 4522
diff changeset
   554
    RegisterVariable('+attack' , vtCommand, @chAttack_p     , false);
630f4ab0c926 Reorder top registered variables by frequency gathered from 60 or so games of varying length/type. Oh. And add green hair to joker.
nemo
parents: 4522
diff changeset
   555
    RegisterVariable('+down'   , vtCommand, @chDown_p       , false);
630f4ab0c926 Reorder top registered variables by frequency gathered from 60 or so games of varying length/type. Oh. And add green hair to joker.
nemo
parents: 4522
diff changeset
   556
    RegisterVariable('-down'   , vtCommand, @chDown_m       , false);
630f4ab0c926 Reorder top registered variables by frequency gathered from 60 or so games of varying length/type. Oh. And add green hair to joker.
nemo
parents: 4522
diff changeset
   557
    RegisterVariable('hjump'   , vtCommand, @chHJump        , false);
630f4ab0c926 Reorder top registered variables by frequency gathered from 60 or so games of varying length/type. Oh. And add green hair to joker.
nemo
parents: 4522
diff changeset
   558
    RegisterVariable('ljump'   , vtCommand, @chLJump        , false);
630f4ab0c926 Reorder top registered variables by frequency gathered from 60 or so games of varying length/type. Oh. And add green hair to joker.
nemo
parents: 4522
diff changeset
   559
    RegisterVariable('nextturn', vtCommand, @chNextTurn     , false);
630f4ab0c926 Reorder top registered variables by frequency gathered from 60 or so games of varying length/type. Oh. And add green hair to joker.
nemo
parents: 4522
diff changeset
   560
    RegisterVariable('-attack' , vtCommand, @chAttack_m     , false);
630f4ab0c926 Reorder top registered variables by frequency gathered from 60 or so games of varying length/type. Oh. And add green hair to joker.
nemo
parents: 4522
diff changeset
   561
    RegisterVariable('slot'    , vtCommand, @chSlot         , false);
630f4ab0c926 Reorder top registered variables by frequency gathered from 60 or so games of varying length/type. Oh. And add green hair to joker.
nemo
parents: 4522
diff changeset
   562
    RegisterVariable('setweap' , vtCommand, @chSetWeapon    , false);
630f4ab0c926 Reorder top registered variables by frequency gathered from 60 or so games of varying length/type. Oh. And add green hair to joker.
nemo
parents: 4522
diff changeset
   563
//////// End top by freq analysis
4531
4ea193b0e378 Reenable ReadyTimer using a synced message NEEDS TESTING.
nemo
parents: 4528
diff changeset
   564
    RegisterVariable('gencmd'  , vtCommand, @chGenCmd       , false);
4413
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   565
    RegisterVariable('flag'    , vtCommand, @chFlag         , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   566
    RegisterVariable('script'  , vtCommand, @chScript       , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   567
    RegisterVariable('proto'   , vtCommand, @chCheckProto   , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   568
    RegisterVariable('spectate', vtBoolean, @fastUntilLag   , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   569
    RegisterVariable('capture' , vtCommand, @chCapture      , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   570
    RegisterVariable('rotmask' , vtCommand, @chRotateMask   , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   571
    RegisterVariable('rdriven' , vtCommand, @chTeamLocal    , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   572
    RegisterVariable('map'     , vtCommand, @chSetMap       , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   573
    RegisterVariable('theme'   , vtCommand, @chSetTheme     , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   574
    RegisterVariable('seed'    , vtCommand, @chSetSeed      , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   575
    RegisterVariable('template_filter', vtLongInt, @cTemplateFilter, false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   576
    RegisterVariable('mapgen'  , vtLongInt, @cMapGen        , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   577
    RegisterVariable('maze_size',vtLongInt, @cMazeSize      , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   578
    RegisterVariable('delay'   , vtLongInt, @cInactDelay    , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   579
    RegisterVariable('ready'   , vtLongInt, @cReadyDelay    , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   580
    RegisterVariable('casefreq', vtLongInt, @cCaseFactor    , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   581
    RegisterVariable('healthprob', vtLongInt, @cHealthCaseProb, false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   582
    RegisterVariable('hcaseamount', vtLongInt, @cHealthCaseAmount, false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   583
    RegisterVariable('sd_turns', vtLongInt, @cSuddenDTurns  , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   584
    RegisterVariable('waterrise', vtLongInt, @cWaterRise    , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   585
    RegisterVariable('healthdec', vtLongInt, @cHealthDecrease, false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   586
    RegisterVariable('damagepct',vtLongInt, @cDamagePercent , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   587
    RegisterVariable('ropepct' , vtLongInt, @cRopePercent   , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   588
    RegisterVariable('minedudpct',vtLongInt,@cMineDudPercent, false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   589
    RegisterVariable('minesnum', vtLongInt, @cLandMines     , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   590
    RegisterVariable('explosives',vtLongInt,@cExplosives    , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   591
    RegisterVariable('gmflags' , vtLongInt, @GameFlags      , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   592
    RegisterVariable('turntime', vtLongInt, @cHedgehogTurnTime, false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   593
    RegisterVariable('minestime',vtLongInt, @cMinesTime     , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   594
    RegisterVariable('fort'    , vtCommand, @chFort         , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   595
    RegisterVariable('grave'   , vtCommand, @chGrave        , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   596
    RegisterVariable('hat'     , vtCommand, @chSetHat       , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   597
    RegisterVariable('quit'    , vtCommand, @chQuit         , true );
4744
ecc2c757d0df general uKey refactor in preparaiton of two new shortcuts
koda
parents: 4661
diff changeset
   598
    RegisterVariable('forcequit', vtCommand, @chForceQuit   , true );
4413
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   599
    RegisterVariable('confirm' , vtCommand, @chConfirm      , true );
4751
849740a91d36 possible fix hanging server on ctlr+w
koda
parents: 4746
diff changeset
   600
    RegisterVariable('halt',     vtCommand, @chHalt         , true );
4413
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   601
    RegisterVariable('+speedup', vtCommand, @chSpeedup_p    , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   602
    RegisterVariable('-speedup', vtCommand, @chSpeedup_m    , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   603
    RegisterVariable('zoomin'  , vtCommand, @chZoomIn       , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   604
    RegisterVariable('zoomout' , vtCommand, @chZoomOut      , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   605
    RegisterVariable('zoomreset',vtCommand, @chZoomReset    , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   606
    RegisterVariable('ammomenu', vtCommand, @chAmmoMenu     , true);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   607
    RegisterVariable('+precise', vtCommand, @chPrecise_p    , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   608
    RegisterVariable('-precise', vtCommand, @chPrecise_m    , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   609
    RegisterVariable('switch'  , vtCommand, @chSwitch       , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   610
    RegisterVariable('timer'   , vtCommand, @chTimer        , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   611
    RegisterVariable('taunt'   , vtCommand, @chTaunt        , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   612
    RegisterVariable('put'     , vtCommand, @chPut          , false);
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   613
    RegisterVariable('+volup'  , vtCommand, @chVol_p        , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   614
    RegisterVariable('-volup'  , vtCommand, @chVol_m        , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   615
    RegisterVariable('+voldown', vtCommand, @chVol_m        , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   616
    RegisterVariable('-voldown', vtCommand, @chVol_p        , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   617
    RegisterVariable('findhh'  , vtCommand, @chFindhh       , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   618
    RegisterVariable('pause'   , vtCommand, @chPause        , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   619
    RegisterVariable('+cur_u'  , vtCommand, @chCurU_p       , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   620
    RegisterVariable('-cur_u'  , vtCommand, @chCurU_m       , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   621
    RegisterVariable('+cur_d'  , vtCommand, @chCurD_p       , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   622
    RegisterVariable('-cur_d'  , vtCommand, @chCurD_m       , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   623
    RegisterVariable('+cur_l'  , vtCommand, @chCurL_p       , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   624
    RegisterVariable('-cur_l'  , vtCommand, @chCurL_m       , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   625
    RegisterVariable('+cur_r'  , vtCommand, @chCurR_p       , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   626
    RegisterVariable('-cur_r'  , vtCommand, @chCurR_m       , true );
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   627
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   628
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   629
procedure freeModule;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   630
begin
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   631
end;
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   632
46caab3a8f84 uCommandHandlers
unc0rr
parents:
diff changeset
   633
end.