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.4 by elmex, Sat May 27 08:45:23 2006 UTC vs.
Revision 1.7 by root, Sat May 27 20:46:54 2006 UTC

25 25
26 my $cmd = $1; 26 my $cmd = $1;
27 my @args = split /\|/, $2; 27 my @args = split /\|/, $2;
28 @args = (".*") unless @args; 28 @args = (".*") unless @args;
29 29
30 $_ = $_ eq ".*" ? "" : " $_"
31 for @args;
32
30 my $text = CFClient::pod_to_pango $head2->content; 33 my $text = CFClient::pod_to_pango $head2->content;
31 34
32 for my $arg (@args) {
33 $arg = $arg eq ".*" ? "" : " $arg";
34
35 $self->{map_widget}->add_command ("$cmd$arg", $text); 35 $self->{map_widget}->add_command ("$cmd$_", $text)
36 } 36 for sort { (length $a) <=> (length $b) }
37 @args;
37 } 38 }
38 39
39 $self->{noface} = new_from_file CFClient::Texture 40 $self->{noface} = new_from_file CFClient::Texture
40 CFClient::find_rcfile "noface.png", minify => 1, mipmap => 1; 41 CFClient::find_rcfile "noface.png", minify => 1, mipmap => 1;
41 42
54sub stats_update { 55sub stats_update {
55 my ($self, $stats) = @_; 56 my ($self, $stats) = @_;
56 57
57 if (my $exp = $stats->{+CS_STAT_EXP64}) { 58 if (my $exp = $stats->{+CS_STAT_EXP64}) {
58 my $diff = $exp - $self->{prev_exp}; 59 my $diff = $exp - $self->{prev_exp};
59 $::STATUSBOX->add ("$diff experience gained", group => "experience $diff", fg => [0.5, 1, 0.5, 0.8], timeout => 5) 60 $self->{statusbox}->add ("$diff experience gained", group => "experience $diff", fg => [0.5, 1, 0.5, 0.8], timeout => 5)
60 if exists $self->{prev_exp} && $diff; 61 if exists $self->{prev_exp} && $diff;
61 $self->{prev_exp} = $exp; 62 $self->{prev_exp} = $exp;
62 } 63 }
63 64
64 ::update_stats_window ($stats); 65 ::update_stats_window ($stats);
335 336
336 if ($flags & CS_QUERY_YESNO) { 337 if ($flags & CS_QUERY_YESNO) {
337 $vbox->add (my $hbox = new CFClient::UI::HBox); 338 $vbox->add (my $hbox = new CFClient::UI::HBox);
338 $hbox->add (new CFClient::UI::Button 339 $hbox->add (new CFClient::UI::Button
339 text => "No", 340 text => "No",
340 connect_activate => sub { 341 on_activate => sub {
341 $self->send ("reply n"); 342 $self->send ("reply n");
342 $dialog->destroy; 343 $dialog->destroy;
343 $self->{map_widget}->focus_in; 344 $self->{map_widget}->focus_in;
344 } 345 }
345 ); 346 );
346 $hbox->add (new CFClient::UI::Button 347 $hbox->add (new CFClient::UI::Button
347 text => "Yes", 348 text => "Yes",
348 connect_activate => sub { 349 on_activate => sub {
349 $self->send ("reply y"); 350 $self->send ("reply y");
350 $dialog->destroy; 351 $dialog->destroy;
351 }, 352 },
352 ); 353 );
353 354
354 $dialog->focus_in; 355 $dialog->focus_in;
355 356
356 } elsif ($flags & CS_QUERY_SINGLECHAR) { 357 } elsif ($flags & CS_QUERY_SINGLECHAR) {
357 $dialog->{tooltip} = "Press a key (click on the entry to make sure it has keyboard focus)"; 358 $dialog->{tooltip} = "Press a key (click on the entry to make sure it has keyboard focus)";
358 $vbox->add (my $entry = new CFClient::UI::Entry 359 $vbox->add (my $entry = new CFClient::UI::Entry
359 connect_changed => sub { 360 on_changed => sub {
360 $self->send ("reply $_[1]"); 361 $self->send ("reply $_[1]");
361 $dialog->destroy; 362 $dialog->destroy;
362 }, 363 },
363 ); 364 );
364 365
367 } else { 368 } else {
368 $dialog->{tooltip} = "Enter the reply and press return (click on the entry to make sure it has keyboard focus)"; 369 $dialog->{tooltip} = "Enter the reply and press return (click on the entry to make sure it has keyboard focus)";
369 370
370 $vbox->add (my $entry = new CFClient::UI::Entry 371 $vbox->add (my $entry = new CFClient::UI::Entry
371 $flags & CS_QUERY_HIDEINPUT ? (hiddenchar => "*") : (), 372 $flags & CS_QUERY_HIDEINPUT ? (hiddenchar => "*") : (),
372 connect_activate => sub { 373 on_activate => sub {
373 $self->send ("reply $_[1]"); 374 $self->send ("reply $_[1]");
374 $dialog->destroy; 375 $dialog->destroy;
375 }, 376 },
376 ); 377 );
377 378
407 $text =~ s/\[color=(.*?)\](.*?)\[\/color\]/<span foreground='\1'>\2<\/span>/g; 408 $text =~ s/\[color=(.*?)\](.*?)\[\/color\]/<span foreground='\1'>\2<\/span>/g;
408 409
409 $self->{logview}->add_paragraph ($color[$color], 410 $self->{logview}->add_paragraph ($color[$color],
410 join "\n", map "$time $_", split /\n/, $text); 411 join "\n", map "$time $_", split /\n/, $text);
411 412
412 $::STATUSBOX->add ($text, 413 $self->{statusbox}->add ($text,
413 group => $text, 414 group => $text,
414 fg => $color[$color], 415 fg => $color[$color],
415 timeout => 10, 416 timeout => 10,
416 tooltip_font => $::FONT_FIXED, 417 tooltip_font => $::FONT_FIXED,
417 ); 418 );
489 490
490 my ($face) = splice @{ $self->{face_prefetch} }, + rand @{ $self->{face_prefetch} }, 1, (); 491 my ($face) = splice @{ $self->{face_prefetch} }, + rand @{ $self->{face_prefetch} }, 1, ();
491 492
492 $self->send ("requestinfo image_sums $face $face"); 493 $self->send ("requestinfo image_sums $face $face");
493 494
494 $::STATUSBOX->add (CFClient::UI::Label::escape "prefetching $todo", 495 $self->{statusbox}->add (CFClient::UI::Label::escape "prefetching $todo",
495 group => "prefetch", timeout => 2, fg => [1, 1, 0, 0.5]); 496 group => "prefetch", timeout => 2, fg => [1, 1, 0, 0.5]);
496 } elsif (!exists $self->{num_faces}) { 497 } elsif (!exists $self->{num_faces}) {
497 $self->send ("requestinfo image_info"); 498 $self->send ("requestinfo image_info");
498 499
499 $self->{num_faces} = 0; 500 $self->{num_faces} = 0;
500 501
501 $::STATUSBOX->add (CFClient::UI::Label::escape "starting to prefetch", 502 $self->{statusbox}->add (CFClient::UI::Label::escape "starting to prefetch",
502 group => "prefetch", timeout => 2, fg => [1, 1, 0, 0.5]); 503 group => "prefetch", timeout => 2, fg => [1, 1, 0, 0.5]);
503 } 504 }
504} 505}
505 506
506sub update_floorbox { 507sub update_floorbox {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines