ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/ext/clientchk.ext
Revision: 1.5
Committed: Sat Dec 27 01:25:00 2008 UTC (15 years, 4 months ago) by root
Branch: MAIN
CVS Tags: HEAD
Changes since 1.4: +0 -0 lines
State: FILE REMOVED
Log Message:
gcfclient removal

File Contents

# Content
1 #! perl # mandatory
2
3 # check client version and string for old clients and possibly issue warnings for them
4
5 cf::client->attach (
6 on_addme => sub {
7 my ($ns) = @_;
8
9 my $client = $ns->version;
10
11 my $is_cf = $client =~ /^(?:GTK2?|X11) (?:Unix|Win32) Client ([.0-9]+)/
12 ? join "", map chr, split /\./, $1
13 : undef;
14
15 my $is_jx = $client =~ /^JCrossclient 1.0 alpha-(\d+)/
16 ? join "", map chr, split /\./, $1
17 : undef;
18
19 $ns->enable_bg_scrub (1);
20
21 if ($is_cf) { # && $is_cf lt v1.9.2) {
22 $ns->send_drawinfo ("(disabling bg image scrub because of buggy client)", cf::NDI_RED);
23 $ns->enable_bg_scrub (0);
24
25 $ns->send_drawinfo ("(enabling workaround for client buffer overflow on scroll)", cf::NDI_RED);
26 $ns->buggy_mapscroll (1);
27
28 $ns->send_drawinfo ("(enabling workaround for map redraw bug)", cf::NDI_RED);
29 $ns->force_image_newmap (1);
30
31 $ns->send_drawinfo ("(enabling workaround for broken face caching in client)", cf::NDI_RED);
32 $ns->force_bad_checksum (1);
33 }
34
35 if ($is_jx) {
36 $ns->send_drawinfo ("(enabling workaround for map redraw bug)", cf::NDI_RED);
37 $ns->force_image_newmap (1);
38
39 $ns->send_drawinfo ("(enabling buggy map scroll workaround)", cf::NDI_RED);
40 $ns->buggy_mapscroll (1);
41
42 $ns->send_drawinfo ("You are using a known to be buggy client (an alpha version, too). "
43 . "If you encounter map freezes or other bugs, consider using a more stable client "
44 . "such as CFPlus or gcfclient or gcfclient2", cf::NDI_RED);
45 }
46
47 if ($is_cf && $is_cf lt v1.9.1) {
48 $ns->send_drawinfo (<<EOF, cf::NDI_RED);
49
50 *** *** *** *** *** *** *** *** *** *** *** *** *** ***
51 *** *** *** *** *** *** *** *** *** *** *** *** *** ***
52 *** WARNING: Your client is BUGGY
53 *** *** *** *** *** *** *** *** *** *** *** *** *** ***
54 *** *** *** *** *** *** *** *** *** *** *** *** *** ***
55
56 Your client ($client) is known to be buggy. Upgrading is highly recommended, otherwise you may experience crashes, strange lockups or other problems.
57
58 EOF
59 }
60 },
61 );
62