ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/Deliantra/bin/cfshell
(Generate patch)

Comparing deliantra/Deliantra/bin/cfshell (file contents):
Revision 1.1 by root, Fri Jul 21 10:37:00 2006 UTC vs.
Revision 1.2 by root, Fri Jul 21 10:47:31 2006 UTC

6 6
7@ARGV == 5 or die "Usage: $0 host port login password dm-pass\n"; 7@ARGV == 5 or die "Usage: $0 host port login password dm-pass\n";
8 8
9use base Crossfire::Protocol::Base; 9use base Crossfire::Protocol::Base;
10 10
11my $login = AnyEvent->condvar;
12
11sub refresh; 13sub refresh;
12 14
13sub logged_in { 15sub logged_in {
14 my ($self) = @_; 16 my ($self) = @_;
17
18 $login->broadcast;
15 19
16 $self->send_command ("dmhide $ARGV[4]"); 20 $self->send_command ("dmhide $ARGV[4]");
17 print "\nlogged in.\n"; 21 print "\nlogged in.\n";
18 refresh; 22 refresh;
19} 23}
20 24
25sub fatal {
26 print "\n$_[0]\n";
27 readline::ResetTTY ();
28 exit 1;
29}
30
21sub eof { 31sub eof {
22 my ($self) = @_; 32 my ($self) = @_;
23 33
24 print "\nserver closed connection.\n"; 34 fatal "server closed connection.";
25 readline::ResetTTY (); 35}
26 exit; 36
37sub query {
38 my ($self, $flags, $prompt) = @_;
39 fatal "unexpected prompt: $prompt";
40}
41
42sub drawinfo {
43 my ($self, $flags, $text) = @_;
44
45 print "\n$text\n";
46 refresh;
27} 47}
28 48
29my $cf = new main 49my $cf = new main
30 host => $ARGV[0], 50 host => $ARGV[0],
31 port => $ARGV[1] || 13327, 51 port => $ARGV[1] || 13327,
58sub Term::ReadLine::Tk::register_Tk { } 78sub Term::ReadLine::Tk::register_Tk { }
59 79
60$rl = new Term::ReadLine "mpg123sh"; 80$rl = new Term::ReadLine "mpg123sh";
61$rl->tkRunning(1); 81$rl->tkRunning(1);
62 82
83#===========================================================================#
84
85$login->wait;
86
63while (defined (my $cmd = $rl->readline ("$ARGV[0]> "))) { 87while (defined (my $cmd = $rl->readline ("$ARGV[0]> "))) {
64 $cf->send_ext_req (perl_eval => $cmd, sub { 88 $cf->send_ext_req (perl_eval => $cmd, sub {
65 my ($data) = @_; 89 my ($data) = @_;
66 90
67 print "\n"; 91 print "\n";
76 } 100 }
77 refresh; 101 refresh;
78 }); 102 });
79} 103}
80 104
81#===========================================================================#
82

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines