… | |
… | |
2 | |
2 | |
3 | # the setup command |
3 | # the setup command |
4 | |
4 | |
5 | use JSON::XS (); |
5 | use JSON::XS (); |
6 | use List::Util qw(min max); |
6 | use List::Util qw(min max); |
7 | |
|
|
8 | sub send_capabilities { |
|
|
9 | my ($ns) = @_; |
|
|
10 | |
|
|
11 | return unless $ns->extcmd; |
|
|
12 | |
|
|
13 | $ns->ext_msg (capabilities => |
|
|
14 | # id, name, flags (1 == 2d), edge length |
|
|
15 | tileset => [[1, "default 64x64 faceset", 1, 64], [0, "default 32x32 faceset", 1, 32], [2, "default text faceset", 2, 1]], |
|
|
16 | ); |
|
|
17 | } |
|
|
18 | |
7 | |
19 | sub do_setup { |
8 | sub do_setup { |
20 | my ($ns, $setup) = @_; |
9 | my ($ns, $setup) = @_; |
21 | |
10 | |
22 | my %orig = %$setup; |
11 | my %orig = %$setup; |
… | |
… | |
31 | } elsif ($k eq "mapinfocmd") { |
20 | } elsif ($k eq "mapinfocmd") { |
32 | $ns->mapinfocmd ($v); |
21 | $ns->mapinfocmd ($v); |
33 | |
22 | |
34 | } elsif ($k eq "extcmd") { |
23 | } elsif ($k eq "extcmd") { |
35 | $ns->extcmd (min 2, $v); |
24 | $ns->extcmd (min 2, $v); |
36 | send_capabilities $ns; |
|
|
37 | |
25 | |
38 | } elsif ($k eq "faceset") { |
26 | } elsif ($k eq "faceset") { |
39 | $ns->faceset (0); |
27 | $ns->faceset (0); |
40 | $setup->{$k} = 0; |
28 | $setup->{$k} = 0; |
41 | # $ns->image2 (1) |
29 | # $ns->image2 (1) |
… | |
… | |
95 | } |
83 | } |
96 | } |
84 | } |
97 | |
85 | |
98 | # force some mandatory protocol options, most of these |
86 | # force some mandatory protocol options, most of these |
99 | # are for obsolete clients only |
87 | # are for obsolete clients only |
100 | $setup->{darkness} = 1; |
88 | # $setup->{darkness} = 1; |
101 | $setup->{exp64} = 1; |
89 | # $setup->{exp64} = 1; |
102 | $setup->{extmap} = 1; |
90 | $setup->{extmap} = 1; |
103 | $setup->{facecache} = 1; |
91 | # $setup->{facecache} = 1; |
104 | $setup->{fxix} = 3; |
92 | $setup->{fxix} = 3; |
105 | $setup->{map1acmd} = 1; |
93 | $setup->{map1acmd} = 1; |
106 | $setup->{map1cmd} = 0; |
94 | $setup->{map1cmd} = 0; |
107 | $setup->{msg} = 1; |
95 | $setup->{msg} = 1; |
108 | |
96 | |