ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/ext/schmorp-clientchk.ext
Revision: 1.6
Committed: Sat Jan 13 23:06:13 2007 UTC (17 years, 4 months ago) by root
Branch: MAIN
CVS Tags: rel-2_0, STABLE
Changes since 1.5: +1 -1 lines
Log Message:
WARNING: this release is BROKEN

- rewrote map handling. map types are now completely pluggable, maybe
  *too* pluggable, as everything is a plug-in now.
- mark mandatory extensions as such.
- handle overloaded attachable objects correctly.
- many minor changes.

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::player->attach (
6 on_login => sub {
7 my ($pl) = @_;
8
9 my $client = $pl->ns->version;
10
11 my $is_cf = $client =~ /^(?:GTK|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 if ($is_cf) { # && $is_cf lt v1.9.2) {
20 $pl->ob->message ("(enabling workaround for client buffer overflow)", cf::NDI_RED | cf::NDI_UNIQUE);
21 $pl->ns->buggy_mapscroll (1);
22 }
23
24 if ($is_jx) {
25 $pl->ob->message ("(enabling buggy map scroll workaround)", cf::NDI_RED | cf::NDI_UNIQUE);
26 $pl->ns->buggy_mapscroll (1);
27 }
28
29 if ($is_jx) {
30 $pl->ob->message ("You are using a known to be buggy client (an alpha version, too). "
31 . "If you encounter map freezes or other bugs, consider using a more stable client "
32 . "such as CFPlus or gcfclient or gcfclient2");
33 }
34
35 if ($is_cf && $is_cf lt v1.9.1) {
36 $pl->ob->message (<<EOF, cf::NDI_RED | cf::NDI_UNIQUE);
37
38 *** *** *** *** *** *** *** *** *** *** *** *** *** ***
39 *** *** *** *** *** *** *** *** *** *** *** *** *** ***
40 *** WARNING: Your client is BUGGY
41 *** *** *** *** *** *** *** *** *** *** *** *** *** ***
42 *** *** *** *** *** *** *** *** *** *** *** *** *** ***
43
44 Your client ($client) is known to be buggy. Upgrading is highly recommended, otherwise you may experience crashes, strange lockups or other problems.
45
46 EOF
47 }
48 },
49 );
50