--- deliantra/Deliantra-Client/DC/Protocol.pm 2006/06/06 02:55:50 1.22 +++ deliantra/Deliantra-Client/DC/Protocol.pm 2006/06/07 05:54:09 1.26 @@ -373,6 +373,9 @@ my $time = sprintf "%02d:%02d:%02d", (localtime time)[2,1,0]; + # try to create single paragraphs of multiple lines sent by the server + $text =~ s/(?<=\S)\n(?=\w)/ /g; + $text = CFClient::UI::Label::escape $text; $text =~ s/\[b\](.*?)\[\/b\]/\1<\/b>/g; $text =~ s/\[color=(.*?)\](.*?)\[\/color\]/\2<\/span>/g; @@ -485,7 +488,7 @@ my $row; for (@{ $::CONN->{container}{0} }) { - if ($row < 7) { + if ($row < 6) { local $_->{face_widget}; # hack to force recreation of widget local $_->{desc_widget}; # hack to force recreation of widget CFClient::Item::update_widgets $_; @@ -495,7 +498,10 @@ $row++; } else { - $::FLOORBOX->add (1, $row, new CFClient::UI::Label text => "More..."); + $::FLOORBOX->add (1, $row, new CFClient::UI::Button + text => "More...", + on_activate => sub { $::INV_WINDOW->toggle_visibility }, + ); last; } } @@ -614,11 +620,13 @@ sub player_update { my ($self, $player) = @_; + $::STATWIDS->{weight}->set_text (sprintf "Weight: %.1fkg", $player->{weight} / 1000); # do it here because it is ignored earlier, and there is no "login" event $self->send_command ("output-sync $::CFG->{output_sync}"); $self->send_command ("output-count $::CFG->{output_count}"); + $self->send_command ("pickup $::CFG->{pickup}") } 1;