25 var isDeveloperMode: boolean; |
25 var isDeveloperMode: boolean; |
26 type TCommandHandler = procedure (var params: shortstring); |
26 type TCommandHandler = procedure (var params: shortstring); |
27 |
27 |
28 procedure initModule; |
28 procedure initModule; |
29 procedure freeModule; |
29 procedure freeModule; |
30 procedure RegisterVariable(Name: shortstring; p: TCommandHandler; Trusted: boolean; Synced: boolean); |
30 procedure RegisterVariable(Name: shortstring; p: TCommandHandler; Trusted: boolean; Rand: boolean); |
31 procedure RegisterVariable(Name: shortstring; p: TCommandHandler; Trusted: boolean); |
31 procedure RegisterVariable(Name: shortstring; p: TCommandHandler; Trusted: boolean); |
32 procedure ParseCommand(CmdStr: shortstring; TrustedSource: boolean); |
32 procedure ParseCommand(CmdStr: shortstring; TrustedSource: boolean); |
33 procedure ParseTeamCommand(s: shortstring); |
33 procedure ParseTeamCommand(s: shortstring); |
34 procedure StopMessages(Message: Longword); |
34 procedure StopMessages(Message: Longword); |
35 |
35 |
39 type PVariable = ^TVariable; |
39 type PVariable = ^TVariable; |
40 TVariable = record |
40 TVariable = record |
41 Next: PVariable; |
41 Next: PVariable; |
42 Name: string[15]; |
42 Name: string[15]; |
43 Handler: TCommandHandler; |
43 Handler: TCommandHandler; |
44 Trusted, Synced: boolean; |
44 Trusted, Rand: boolean; |
45 end; |
45 end; |
46 |
46 |
47 var |
47 var |
48 Variables: PVariable; |
48 Variables: PVariable; |
49 |
49 |
50 procedure RegisterVariable(Name: shortstring; p: TCommandHandler; Trusted: boolean); |
50 procedure RegisterVariable(Name: shortstring; p: TCommandHandler; Trusted: boolean); |
51 begin |
51 begin |
52 RegisterVariable(Name, p, Trusted, false); |
52 RegisterVariable(Name, p, Trusted, false); |
53 end; |
53 end; |
54 procedure RegisterVariable(Name: shortstring; p: TCommandHandler; Trusted: boolean; Synced: boolean); |
54 procedure RegisterVariable(Name: shortstring; p: TCommandHandler; Trusted: boolean; Rand: boolean); |
55 var |
55 var |
56 value: PVariable; |
56 value: PVariable; |
57 begin |
57 begin |
58 New(value); |
58 New(value); |
59 TryDo(value <> nil, 'RegisterVariable: value = nil', true); |
59 TryDo(value <> nil, 'RegisterVariable: value = nil', true); |
60 FillChar(value^, sizeof(TVariable), 0); |
60 FillChar(value^, sizeof(TVariable), 0); |
61 value^.Name:= Name; |
61 value^.Name:= Name; |
62 value^.Handler:= p; |
62 value^.Handler:= p; |
63 value^.Trusted:= Trusted; |
63 value^.Trusted:= Trusted; |
64 value^.Synced:= Synced; |
64 value^.Rand:= Rand; |
65 |
65 |
66 if Variables = nil then |
66 if Variables = nil then |
67 Variables:= value |
67 Variables:= value |
68 else |
68 else |
69 begin |
69 begin |