hedgewars/uCommandHandlers.pas
branch0.9.15
changeset 4779 53f7e964a338
parent 4751 849740a91d36
child 4845 9a0f5377c529
equal deleted inserted replaced
4732:10f675aee907 4779:53f7e964a338
    21 end;
    21 end;
    22 
    22 
    23 procedure chQuit(var s: shortstring);
    23 procedure chQuit(var s: shortstring);
    24 const prevGState: TGameState = gsConfirm;
    24 const prevGState: TGameState = gsConfirm;
    25 begin
    25 begin
    26 s:= s; // avoid compiler hint
    26     s:= s; // avoid compiler hint
    27 if GameState <> gsConfirm then
    27     if GameState <> gsConfirm then
    28         begin
    28     begin
    29         prevGState:= GameState;
    29         prevGState:= GameState;
    30         GameState:= gsConfirm
    30         GameState:= gsConfirm
    31         end else
    31     end else
    32         GameState:= prevGState
    32     GameState:= prevGState
       
    33 end;
       
    34 
       
    35 procedure chForceQuit(var s: shortstring);
       
    36 begin
       
    37     s:= s; // avoid compiler hint
       
    38     GameState:= gsConfirm;
       
    39     ParseCommand('confirm', true);
    33 end;
    40 end;
    34 
    41 
    35 procedure chConfirm(var s: shortstring);
    42 procedure chConfirm(var s: shortstring);
    36 begin
    43 begin
    37 s:= s; // avoid compiler hint
    44     s:= s; // avoid compiler hint
    38 if GameState = gsConfirm then
    45     if GameState = gsConfirm then
    39     begin
    46     begin
    40     SendIPC('Q');
    47         SendIPC('Q');
    41     GameState:= gsExit
    48         GameState:= gsExit
    42     end
    49     end
    43 else
    50 else
    44     ParseCommand('chat team', true);
    51     ParseCommand('chat team', true);
       
    52 end;
       
    53 
       
    54 procedure chHalt (var s: shortstring);
       
    55 begin
       
    56     s:= s; // avoid compiler hint
       
    57     SendIPC('H');
       
    58     GameState:= gsExit
    45 end;
    59 end;
    46 
    60 
    47 procedure chCheckProto(var s: shortstring);
    61 procedure chCheckProto(var s: shortstring);
    48 var i, c: LongInt;
    62 var i, c: LongInt;
    49 begin
    63 begin
   580     RegisterVariable('minestime',vtLongInt, @cMinesTime     , false);
   594     RegisterVariable('minestime',vtLongInt, @cMinesTime     , false);
   581     RegisterVariable('fort'    , vtCommand, @chFort         , false);
   595     RegisterVariable('fort'    , vtCommand, @chFort         , false);
   582     RegisterVariable('grave'   , vtCommand, @chGrave        , false);
   596     RegisterVariable('grave'   , vtCommand, @chGrave        , false);
   583     RegisterVariable('hat'     , vtCommand, @chSetHat       , false);
   597     RegisterVariable('hat'     , vtCommand, @chSetHat       , false);
   584     RegisterVariable('quit'    , vtCommand, @chQuit         , true );
   598     RegisterVariable('quit'    , vtCommand, @chQuit         , true );
       
   599     RegisterVariable('forcequit', vtCommand, @chForceQuit   , true );
   585     RegisterVariable('confirm' , vtCommand, @chConfirm      , true );
   600     RegisterVariable('confirm' , vtCommand, @chConfirm      , true );
       
   601     RegisterVariable('halt',     vtCommand, @chHalt         , true );
   586     RegisterVariable('+speedup', vtCommand, @chSpeedup_p    , true );
   602     RegisterVariable('+speedup', vtCommand, @chSpeedup_p    , true );
   587     RegisterVariable('-speedup', vtCommand, @chSpeedup_m    , true );
   603     RegisterVariable('-speedup', vtCommand, @chSpeedup_m    , true );
   588     RegisterVariable('zoomin'  , vtCommand, @chZoomIn       , true );
   604     RegisterVariable('zoomin'  , vtCommand, @chZoomIn       , true );
   589     RegisterVariable('zoomout' , vtCommand, @chZoomOut      , true );
   605     RegisterVariable('zoomout' , vtCommand, @chZoomOut      , true );
   590     RegisterVariable('zoomreset',vtCommand, @chZoomReset    , true );
   606     RegisterVariable('zoomreset',vtCommand, @chZoomReset    , true );