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.70 by root, Sun Jul 30 17:43:27 2006 UTC vs.
Revision 1.73 by root, Sun Aug 13 15:14:17 2006 UTC

16 16
17 my $self = $class->SUPER::new (@_); 17 my $self = $class->SUPER::new (@_);
18 18
19 $self->{map_widget}->clr_commands; 19 $self->{map_widget}->clr_commands;
20 20
21 my $cmd_help = CFPlus::Pod::load CFPlus::find_rcfile "pod/command_help.pod", command_help => 1, sub { 21 my @cmd_help = map {
22 my ($pom) = @_;
23
24 my @cmd_help;
25
26 for my $head2 ($pom->head1->[-2]->head2) {
27 $head2->title =~ /^(\S+) (?:\s+ \( ([^\)]*) \) )?/x 22 $_->{kw}[0] =~ /^(\S+) (?:\s+ \( ([^\)]*) \) )?/x
28 or next; 23 or die "unparseable command help: $_->{kw}[0]";
29 24
30 my $cmd = $1; 25 my $cmd = $1;
31 my @args = split /\|/, $2; 26 my @args = split /\|/, $2;
32 @args = (".*") unless @args; 27 @args = (".*") unless @args;
33 28
29 my (undef, @par) = CFPlus::Pod::section_of $_;
30 my $text = CFPlus::Pod::as_label @par;
31
34 $_ = $_ eq ".*" ? "" : " $_" 32 $_ = $_ eq ".*" ? "" : " $_"
35 for @args; 33 for @args;
36 34
37 my $text = CFPlus::Pod::as_markup $head2->content; 35 map ["$cmd$_", $text],
38
39 push @cmd_help, ["$cmd$_", $text]
40 for sort { (length $a) <=> (length $b) } 36 sort { (length $a) <=> (length $b) }
41 @args; 37 @args
42 } 38 } CFPlus::Pod::find command_help => "*";
43 39
44 \@cmd_help
45 };
46
47 $self->{map_widget}->add_command (@$_) 40 $self->{map_widget}->add_command (@$_)
48 for @$cmd_help; 41 for @cmd_help;
49 42
50 $self->{noface} = new_from_file CFPlus::Texture 43 $self->{noface} = new_from_file CFPlus::Texture
51 CFPlus::find_rcfile "noface.png", minify => 1, mipmap => 1; 44 CFPlus::find_rcfile "noface.png", minify => 1, mipmap => 1;
52 45
53 $self->{open_container} = 0; 46 $self->{open_container} = 0;
636 $self->{logview}->scroll_to_bottom; 629 $self->{logview}->scroll_to_bottom;
637 630
638 $self->{statusbox}->add ($text, 631 $self->{statusbox}->add ($text,
639 group => $text, 632 group => $text,
640 fg => $color[$color], 633 fg => $color[$color],
641 timeout => $color >= 2 ? 60 : 10, 634 timeout => $color >= 2 ? 180 : 10,
642 tooltip_font => $::FONT_FIXED, 635 tooltip_font => $::FONT_FIXED,
643 ); 636 );
644} 637}
645 638
646sub drawextinfo { 639sub drawextinfo {
670} 663}
671 664
672sub addme_success { 665sub addme_success {
673 my ($self) = @_; 666 my ($self) = @_;
674 667
675 my $skill_help = CFPlus::Pod::load CFPlus::find_rcfile "pod/skill_help.pod", skill_help => 1, sub {
676 my ($pom) = @_;
677
678 my %skill_help; 668 my %skill_help;
679 669
680 for my $head2 ($pom->head1->[3]->head2) { 670 for my $node (CFPlus::Pod::find skill_description => "*") {
681 $skill_help{$head2->title} = CFPlus::Pod::as_markup $head2->content; 671 my (undef, @par) = CFPlus::Pod::section_of $node;
682 } 672 $skill_help{$node->{kw}[0]} = CFPlus::Pod::as_label @par;
683
684 \%skill_help
685 }; 673 };
686 674
687 for my $skill (values %{$self->{skill_info}}) { 675 for my $skill (values %{$self->{skill_info}}) {
688 $self->{map_widget}->add_command ("ready_skill $skill", 676 $self->{map_widget}->add_command ("ready_skill $skill",
689 (CFPlus::asxml "Ready the skill '$skill'\n\n") 677 (CFPlus::asxml "Ready the skill '$skill'\n\n")
690 . $skill_help->{$skill}); 678 . $skill_help{$skill});
691 $self->{map_widget}->add_command ("use_skill $skill", 679 $self->{map_widget}->add_command ("use_skill $skill",
692 (CFPlus::asxml "Immediately use the skill '$skill'\n\n") 680 (CFPlus::asxml "Immediately use the skill '$skill'\n\n")
693 . $skill_help->{$skill}); 681 . $skill_help{$skill});
694 } 682 }
695} 683}
696 684
697sub eof { 685sub eof {
698 my ($self) = @_; 686 my ($self) = @_;
970 958
971 $hbox->add (my $vbox = new CFPlus::UI::VBox); 959 $hbox->add (my $vbox = new CFPlus::UI::VBox);
972 960
973 $vbox->add (new CFPlus::UI::Label text => "Message Entry:"); 961 $vbox->add (new CFPlus::UI::Label text => "Message Entry:");
974 $vbox->add ($self->{entry} = new CFPlus::UI::Entry 962 $vbox->add ($self->{entry} = new CFPlus::UI::Entry
975 tooltip => "Enter a message you want to tell the NPC and press <b>return</b>.\n\n" 963 tooltip => "#npc_message_entry",
976 . "Sometimes you have to tell an NPC something you cannot find out during "
977 . "a normal conversation (such as a password). In those cases you have to use "
978 . "this text entry. You can also enter responses manually instead of using the response "
979 . "buttons below.",
980 on_activate => sub { 964 on_activate => sub {
981 my ($entry, $text) = @_; 965 my ($entry, $text) = @_;
982 966
983 return unless $text =~ /\S/; 967 return unless $text =~ /\S/;
984 968

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines