… | |
… | |
15 | package DC; |
15 | package DC; |
16 | |
16 | |
17 | use Carp (); |
17 | use Carp (); |
18 | |
18 | |
19 | BEGIN { |
19 | BEGIN { |
20 | $VERSION = '0.9962'; |
20 | $VERSION = '0.9971'; |
21 | |
21 | |
22 | use XSLoader; |
22 | use XSLoader; |
23 | XSLoader::load "Deliantra::Client", $VERSION; |
23 | XSLoader::load "Deliantra::Client", $VERSION; |
24 | } |
24 | } |
25 | |
25 | |
… | |
… | |
164 | |
164 | |
165 | $::CFG = decode_json $CFG; |
165 | $::CFG = decode_json $CFG; |
166 | } |
166 | } |
167 | |
167 | |
168 | sub write_cfg { |
168 | sub write_cfg { |
169 | my ($file) = @_; |
169 | my $file = "$Deliantra::VARDIR/client.cf"; |
170 | |
170 | |
171 | $::CFG->{VERSION} = $::VERSION; |
171 | $::CFG->{VERSION} = $::VERSION; |
172 | |
172 | |
173 | open my $fh, ">:utf8", $file |
173 | open my $fh, ">:utf8", $file |
174 | or return; |
174 | or return; |
175 | print $fh encode_json $::CFG; |
175 | print $fh JSON::XS->new->utf8->pretty->encode ($::CFG); |
176 | } |
176 | } |
177 | |
177 | |
178 | sub http_proxy { |
178 | sub http_proxy { |
179 | my @proxy = win32_proxy_info; |
179 | my @proxy = win32_proxy_info; |
180 | |
180 | |
… | |
… | |
198 | require LWP::UserAgent; |
198 | require LWP::UserAgent; |
199 | |
199 | |
200 | DC::set_proxy; |
200 | DC::set_proxy; |
201 | |
201 | |
202 | my $ua = LWP::UserAgent->new ( |
202 | my $ua = LWP::UserAgent->new ( |
203 | agent => "cfplus $VERSION", |
203 | agent => "deliantra $VERSION", |
204 | keep_alive => 1, |
204 | keep_alive => 1, |
205 | env_proxy => 1, |
205 | env_proxy => 1, |
206 | timeout => 30, |
206 | timeout => 30, |
207 | ); |
207 | ); |
208 | } |
208 | } |
… | |
… | |
223 | $nb = (! ! $nb) + 0; |
223 | $nb = (! ! $nb) + 0; |
224 | ioctl $fh, 0x8004667e, \$nb; # FIONBIO |
224 | ioctl $fh, 0x8004667e, \$nb; # FIONBIO |
225 | } else { |
225 | } else { |
226 | fcntl $fh, &Fcntl::F_SETFL, $nb ? &Fcntl::O_NONBLOCK : 0; |
226 | fcntl $fh, &Fcntl::F_SETFL, $nb ? &Fcntl::O_NONBLOCK : 0; |
227 | } |
227 | } |
228 | |
|
|
229 | } |
228 | } |
230 | |
229 | |
231 | package DC::Layout; |
230 | package DC::Layout; |
232 | |
231 | |
233 | $DC::OpenGL::INIT_HOOK{"DC::Layout"} = sub { |
232 | $DC::OpenGL::INIT_HOOK{"DC::Layout"} = sub { |