ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/Deliantra-Client/DC/Protocol.pm
(Generate patch)

Comparing deliantra/Deliantra-Client/DC/Protocol.pm (file contents):
Revision 1.15 by root, Thu Jun 1 18:56:05 2006 UTC vs.
Revision 1.20 by root, Mon Jun 5 05:31:13 2006 UTC

3use utf8; 3use utf8;
4use strict; 4use strict;
5 5
6use Crossfire::Protocol::Constants; 6use Crossfire::Protocol::Constants;
7 7
8use CFClient;
8use CFClient::UI; 9use CFClient::UI;
9 10
10use base 'Crossfire::Protocol::Base'; 11use base 'Crossfire::Protocol::Base';
11 12
12sub new { 13sub new {
14 15
15 my $self = $class->SUPER::new (@_); 16 my $self = $class->SUPER::new (@_);
16 17
17 $self->{map_widget}->clr_commands; 18 $self->{map_widget}->clr_commands;
18 19
19 my $parser = new Pod::POM;
20 my $pod = $parser->parse_file (CFClient::find_rcfile "pod/command_help.pod"); 20 my $pod = CFClient::load_pod CFClient::find_rcfile "pod/command_help.pod";
21 21
22 for my $head2 ($pod->head1->[-2]->head2) { 22 for my $head2 ($pod->head1->[-2]->head2) {
23 $head2->title =~ /^(\S+) (?:\s+ \( ([^\)]*) \) )?/x 23 $head2->title =~ /^(\S+) (?:\s+ \( ([^\)]*) \) )?/x
24 or next; 24 or next;
25 25
429 join "\n", map "$time $_", split /\n/, $text); 429 join "\n", map "$time $_", split /\n/, $text);
430 430
431 $self->{statusbox}->add ($text, 431 $self->{statusbox}->add ($text,
432 group => $text, 432 group => $text,
433 fg => $color[$color], 433 fg => $color[$color],
434 timeout => 10, 434 timeout => $color >= 2 ? 60 : 10,
435 tooltip_font => $::FONT_FIXED, 435 tooltip_font => $::FONT_FIXED,
436 ); 436 );
437} 437}
438 438
439sub drawextinfo { 439sub drawextinfo {
445sub spell_add { 445sub spell_add {
446 my ($self, $spell) = @_; 446 my ($self, $spell) = @_;
447 447
448 # TODO 448 # TODO
449 # create a widget dynamically, using spell face (CF::Protocol downloads them) 449 # create a widget dynamically, using spell face (CF::Protocol downloads them)
450 $::SPELL_LIST->add_spell ($spell); 450 $::SETUP_SPELLS->add_spell ($spell);
451 451
452 $self->{map_widget}->add_command ("invoke $spell->{name}", CFClient::UI::Label::escape $spell->{message}); 452 $self->{map_widget}->add_command ("invoke $spell->{name}", CFClient::UI::Label::escape $spell->{message});
453 $self->{map_widget}->add_command ("cast $spell->{name}", CFClient::UI::Label::escape $spell->{message}); 453 $self->{map_widget}->add_command ("cast $spell->{name}", CFClient::UI::Label::escape $spell->{message});
454} 454}
455 455
456sub spell_delete { 456sub spell_delete {
457 my ($self, $spell) = @_; 457 my ($self, $spell) = @_;
458 $::SPELL_LIST->remove_spell ($spell); 458 $::SETUP_SPELLS->remove_spell ($spell);
459} 459}
460 460
461sub addme_success { 461sub addme_success {
462 my ($self) = @_; 462 my ($self) = @_;
463 463
464 my $parser = new Pod::POM; 464 my $pod = CFClient::load_pod CFClient::find_rcfile "pod/skill_help.pod";
465 my $pod = $parser->parse_file (CFClient::find_rcfile "pod/skill_help.pod");
466 465
467 my %skill_tooltip; 466 my %skill_tooltip;
468 467
469 for my $head2 ($pod->head1->[-2]->head2) { 468 for my $head2 ($pod->head1->[-2]->head2) {
470 $skill_tooltip{$head2->title} = CFClient::pod_to_pango $head2->content; 469 $skill_tooltip{$head2->title} = CFClient::pod_to_pango $head2->content;
509 my ($face) = splice @{ $self->{face_prefetch} }, + rand @{ $self->{face_prefetch} }, 1, (); 508 my ($face) = splice @{ $self->{face_prefetch} }, + rand @{ $self->{face_prefetch} }, 1, ();
510 509
511 $self->send ("requestinfo image_sums $face $face"); 510 $self->send ("requestinfo image_sums $face $face");
512 511
513 $self->{statusbox}->add (CFClient::UI::Label::escape "prefetching $todo", 512 $self->{statusbox}->add (CFClient::UI::Label::escape "prefetching $todo",
514 group => "prefetch", timeout => 2, fg => [1, 1, 0, 0.5]); 513 group => "prefetch", timeout => 3, fg => [1, 1, 0, 0.5]);
515 } elsif (!exists $self->{num_faces}) { 514 } elsif (!exists $self->{num_faces}) {
516 $self->send ("requestinfo image_info"); 515 $self->send ("requestinfo image_info");
517 516
518 $self->{num_faces} = 0; 517 $self->{num_faces} = 0;
519 518
520 $self->{statusbox}->add (CFClient::UI::Label::escape "starting to prefetch", 519 $self->{statusbox}->add (CFClient::UI::Label::escape "starting to prefetch",
521 group => "prefetch", timeout => 2, fg => [1, 1, 0, 0.5]); 520 group => "prefetch", timeout => 3, fg => [1, 1, 0, 0.5]);
522 } 521 }
523} 522}
524 523
525sub update_floorbox { 524sub update_floorbox {
526 $CFClient::UI::ROOT->on_refresh ($::FLOORBOX => sub { 525 $CFClient::UI::ROOT->on_refresh ($::FLOORBOX => sub {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines