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.71 by root, Wed Aug 2 22:00:46 2006 UTC vs.
Revision 1.72 by root, Sun Aug 13 02:43:22 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;
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) = @_;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines