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.163 by root, Wed Aug 22 21:17:32 2007 UTC vs.
Revision 1.168 by root, Thu Aug 30 07:08:17 2007 UTC

401 401
402 if ( 402 if (
403 my @diffs = map $_->[1]->($self, $_->[2], $prev->{$_->[0]}, $stats->{$_->[0]}), @statchange 403 my @diffs = map $_->[1]->($self, $_->[2], $prev->{$_->[0]}, $stats->{$_->[0]}), @statchange
404 ) { 404 ) {
405 my $msg = "<b>stat change</b>: " . (join " ", @diffs); 405 my $msg = "<b>stat change</b>: " . (join " ", @diffs);
406 $self->{statusbox}->add ($msg, group => "stat $msg", fg => [0.8, 1, 0.2, 1], timeout => 10); 406 $self->{statusbox}->add ($msg, group => "stat $msg", fg => [0.8, 1, 0.2, 1], timeout => 20);
407 } 407 }
408 408
409 $self->update_stats_window ($stats, $prev); 409 $self->update_stats_window ($stats, $prev);
410 410
411 $self->{prev_stats} = { %$stats }; 411 $self->{prev_stats} = { %$stats };
566 566
567 for (@order) { 567 for (@order) {
568 my ($idx, $name) = @$_; 568 my ($idx, $name) = @$_;
569 my $val = $stats->{$idx}; 569 my $val = $stats->{$idx};
570 570
571 next if $prev->{$idx}[1] == $val->[1]; 571 next if $prev->{$idx}[1] eq $val->[1];
572 572
573 my $sw = $self->{skillwid}{$idx}; 573 my $sw = $self->{skillwid}{$idx};
574 $sw->[0]->set_text (::formsep ($val->[1])); 574 $sw->[0]->set_text (::formsep ($val->[1]));
575 $sw->[1]->set_text ($val->[0] * 1); 575 $sw->[1]->set_text ($val->[0] * 1);
576 $sw->[2]->set_value (@$val); 576 $sw->[2]->set_value (@$val);
577 577
578 #$::GAUGES->{sklprg}->set_label ($name); 578 $::GAUGES->{sklprg}->set_label ("$name %d%%");
579 $::GAUGES->{sklprg}->set_value (@$val); 579 $::GAUGES->{sklprg}->set_value (@$val);
580 }
581}
582
583sub macro_send {
584 my ($self, $macro) = @_;
585
586 for my $cmd (@{ $macro->{action} }) {
587 $self->send_command ($cmd);
588 } 580 }
589} 581}
590 582
591sub user_send { 583sub user_send {
592 my ($self, $command) = @_; 584 my ($self, $command) = @_;
594 $self->{record}->($command) 586 $self->{record}->($command)
595 if $self->{record}; 587 if $self->{record};
596 588
597 $self->logprint ("send: ", $command); 589 $self->logprint ("send: ", $command);
598 $self->send_command ($command); 590 $self->send_command ($command);
599 ::status ($command);
600} 591}
601 592
602sub record { 593sub record {
603 my ($self, $cb) = @_; 594 my ($self, $cb) = @_;
604 595
887 # split metadata case, FT_MUSIC, FT_SOUND 878 # split metadata case, FT_MUSIC, FT_SOUND
888 if ($changed) { # new data 879 if ($changed) { # new data
889 my ($meta, $data) = unpack "(w/a*)*", $face->{data}; 880 my ($meta, $data) = unpack "(w/a*)*", $face->{data};
890 $face->{data} = $meta; 881 $face->{data} = $meta;
891 882
883 # rely on strict ordering here and also on later fetch
892 CFPlus::DB::put res_data => $face->{name} => $data, sub { }; 884 CFPlus::DB::put res_data => $face->{name} => $data, sub { };
893 CFPlus::DB::put res_meta => $face->{name} => $meta, sub { }; 885 CFPlus::DB::put res_meta => $face->{name} => $meta, sub { };
894 } 886 }
895 887
896 $face->{data} = $self->{json_coder}->decode ($face->{data}); 888 $face->{data} = $self->{json_coder}->decode ($face->{data});
897
898 ::add_license ($face); 889 ::add_license ($face);
890 ::message ({ markup => CFPlus::asxml "downloaded resource '$face->{data}{name}', type $face->{type}." })
891 if $changed;
899 892
900 if ($face->{type} == 3) { # FT_MUSIC 893 if ($face->{type} == 3) { # FT_MUSIC
901 ::message ({ markup => "downloaded song #$facenum" })
902 if $changed;
903
904 &::audio_music_push ($facenum); 894 &::audio_music_push ($facenum);
905 } elsif ($face->{type} == 5) { # FT_SOUND 895 } elsif ($face->{type} == 5) { # FT_SOUND
906 ::message ({ markup => "downloaded sound #$facenum" })
907 if $changed;
908
909 &::audio_sound_push ($facenum); 896 &::audio_sound_push ($facenum);
910 } 897 }
911 898
912 } else { 899 } else {
913 # flat resource case, FT_RSRC 900 # flat resource case, FT_RSRC

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines