--- deliantra/Deliantra-Client/bin/cfplus 2006/12/16 17:33:26 1.141 +++ deliantra/Deliantra-Client/bin/cfplus 2007/03/16 03:14:50 1.144 @@ -467,8 +467,15 @@ $vbox->add (my $table = new CFPlus::UI::Table expand => 1, col_expand => [0, 1]); - $table->add (0, 0, new CFPlus::UI::Label valign => 0, align => 1, text => "Video Mode"); - $table->add (1, 0, my $hbox = new CFPlus::UI::HBox); + my $row = 0; + + $table->add (0, $row, new CFPlus::UI::Label valign => 0, align => 1, text => "OpenGL Info"); + $table->add (1, $row++, new CFPlus::UI::Label valign => 0, fontsize => 0.8, text => CFPlus::OpenGL::gl_vendor . ", " . CFPlus::OpenGL::gl_version, + can_events => 1, + tooltip => "" . (CFPlus::OpenGL::gl_extensions) . ""); + + $table->add (0, $row, new CFPlus::UI::Label valign => 0, align => 1, text => "Video Mode"); + $table->add (1, $row++, my $hbox = new CFPlus::UI::HBox); $hbox->add (my $mode_slider = new CFPlus::UI::Slider force_w => $WIDTH * 0.1, expand => 1, range => [$CFG->{sdl_mode}, 0, $#SDL_MODES, 0, 1]); $hbox->add (my $mode_label = new CFPlus::UI::Label align => 0, valign => 0, height => 0.8, template => "9999x9999"); @@ -481,8 +488,6 @@ }); $mode_slider->emit (changed => $mode_slider->{range}[0]); - my $row = 1; - $table->add (0, $row, new CFPlus::UI::Label valign => 0, align => 1, text => "Fullscreen"); $table->add (1, $row++, $FULLSCREEN_ENABLE = new CFPlus::UI::CheckBox state => $CFG->{fullscreen}, @@ -907,15 +912,9 @@ my @align = qw(1 0 1 1 -1); my $y = 0; - for my $m ( - sort { - $b->{version} <=> $a->{version} - or $b->{users} <=> $a->{users} - } - @{ $msg->{servers} } - ) { - my ($ip, $last, $host, $users, $version, $desc, $ibytes, $obytes, $uptime) = - @$m{qw(ip age hostname users version description ibytes obytes uptime)}; + for my $m (@{ $msg->{servers} }) { + my ($ip, $last, $host, $users, $version, $desc, $ibytes, $obytes, $uptime, $highlight) = + @$m{qw(ip age hostname users version description ibytes obytes uptime highlight)}; for ($desc) { s/
/\n/gi; @@ -955,7 +954,7 @@ align => $align[$_], text => $m->[$_], tooltip => $tip[$_], - fg => ($m->[3] =~ /\+$/ ? [1, 1, 1] : [.7, .7, .7]), + fg => ($highlight ? [1, 1, 1] : [.7, .7, .7]), can_hover => 1, can_events => 1, fontsize => 0.8) @@ -1066,21 +1065,30 @@ on_changed => sub { $CFG->{face_prefetch} = $_[1]; 0 }, ); - $table->add (0, 9, new CFPlus::UI::Label valign => 0, align => 1, text => "Output-Count"); + $table->add (0, 9, new CFPlus::UI::Label valign => 0, align => 1, text => "Output-Rate"); $table->add (1, 9, new CFPlus::UI::Entry + text => $CFG->{output_rate}, + tooltip => "The approximate bandwidth in bytes per second that the server should not exceed " + . "when sending images, to ensure interactiveness. When 0 or unset, the server " + . "default will be used, which is usually around 100kb/s.", + on_changed => sub { $CFG->{output_rate} = $_[1]; 0 }, + ); + + $table->add (0, 10, new CFPlus::UI::Label valign => 0, align => 1, text => "Output-Count"); + $table->add (1, 10, new CFPlus::UI::Entry text => $CFG->{output_count}, tooltip => "Should be set to 1 unless you know what you are doing. This option is only used once at log-in.", on_changed => sub { $CFG->{output_count} = $_[1]; 0 }, ); - $table->add (0, 10, new CFPlus::UI::Label valign => 0, align => 1, text => "Output-Sync"); - $table->add (1, 10, new CFPlus::UI::Entry + $table->add (0, 11, new CFPlus::UI::Label valign => 0, align => 1, text => "Output-Sync"); + $table->add (1, 11, new CFPlus::UI::Entry text => $CFG->{output_sync}, tooltip => "Should be set to 1 unless you know what you are doing. This option is only used once at log-in.", on_changed => sub { $CFG->{output_sync} = $_[1]; 0 }, ); - $table->add (1, 11, $LOGIN_BUTTON = new CFPlus::UI::Button + $table->add (1, 12, $LOGIN_BUTTON = new CFPlus::UI::Button expand => 1, align => 0, text => "Login", @@ -1091,8 +1099,8 @@ }, ); - $table->add (0, 12, new CFPlus::UI::Label valign => 0, align => 1, text => "Chat Command"); - $table->add (1, 12, my $saycmd = new CFPlus::UI::Entry + $table->add (0, 13, new CFPlus::UI::Label valign => 0, align => 1, text => "Chat Command"); + $table->add (1, 13, my $saycmd = new CFPlus::UI::Entry text => $CFG->{say_command}, tooltip => "This is the command that will be used if you write a line in the message window entry or press \" in the map window. " . "Usually you want to enter something like 'say' or 'shout' or 'gsay' here. " @@ -1104,8 +1112,8 @@ } ); - $table->add (0, 13, new CFPlus::UI::Label valign => 0, align => 1, text => "Tip of the day"); - $table->add (1, 13, my $saycmd = new CFPlus::UI::CheckBox + $table->add (0, 14, new CFPlus::UI::Label valign => 0, align => 1, text => "Tip of the day"); + $table->add (1, 14, my $saycmd = new CFPlus::UI::CheckBox state => $CFG->{show_tips}, tooltip => "Show the Tip of the day window at startup?", on_changed => sub { @@ -2101,6 +2109,7 @@ face_prefetch => 0, output_sync => 1, output_count => 1, + output_rate => "", pickup => 0, inv_sort => "mtime", default => "profile", # default profile