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 |
579 RegisterVariable('minestime',vtLongInt, @cMinesTime , false); |
593 RegisterVariable('minestime',vtLongInt, @cMinesTime , false); |
580 RegisterVariable('fort' , vtCommand, @chFort , false); |
594 RegisterVariable('fort' , vtCommand, @chFort , false); |
581 RegisterVariable('grave' , vtCommand, @chGrave , false); |
595 RegisterVariable('grave' , vtCommand, @chGrave , false); |
582 RegisterVariable('hat' , vtCommand, @chSetHat , false); |
596 RegisterVariable('hat' , vtCommand, @chSetHat , false); |
583 RegisterVariable('quit' , vtCommand, @chQuit , true ); |
597 RegisterVariable('quit' , vtCommand, @chQuit , true ); |
|
598 RegisterVariable('forcequit', vtCommand, @chForceQuit , true ); |
584 RegisterVariable('confirm' , vtCommand, @chConfirm , true ); |
599 RegisterVariable('confirm' , vtCommand, @chConfirm , true ); |
|
600 RegisterVariable('halt', vtCommand, @chHalt , true ); |
585 RegisterVariable('+speedup', vtCommand, @chSpeedup_p , true ); |
601 RegisterVariable('+speedup', vtCommand, @chSpeedup_p , true ); |
586 RegisterVariable('-speedup', vtCommand, @chSpeedup_m , true ); |
602 RegisterVariable('-speedup', vtCommand, @chSpeedup_m , true ); |
587 RegisterVariable('zoomin' , vtCommand, @chZoomIn , true ); |
603 RegisterVariable('zoomin' , vtCommand, @chZoomIn , true ); |
588 RegisterVariable('zoomout' , vtCommand, @chZoomOut , true ); |
604 RegisterVariable('zoomout' , vtCommand, @chZoomOut , true ); |
589 RegisterVariable('zoomreset',vtCommand, @chZoomReset , true ); |
605 RegisterVariable('zoomreset',vtCommand, @chZoomReset , true ); |