--- deliantra/Deliantra-Client/bin/cfplus 2007/07/17 18:34:24 1.174
+++ deliantra/Deliantra-Client/bin/cfplus 2007/07/21 13:37:09 1.180
@@ -274,7 +274,7 @@
unshift @dialog, my $table = new CFPlus::UI::Table;
- $table->add (0, 0, new CFPlus::UI::Button
+ $table->add_at (0, 0, new CFPlus::UI::Button
text => "Next Race",
on_activate => sub {
$conn->send ("reply n");
@@ -282,7 +282,7 @@
0
},
);
- $table->add (2, 0, new CFPlus::UI::Button
+ $table->add_at (2, 0, new CFPlus::UI::Button
text => "Accept",
on_activate => sub {
$conn->send ("reply d");
@@ -327,9 +327,6 @@
return;
}
- $STATS_PAGE->show;
- $MESSAGE_WINDOW->hide;
-
unshift @dialog, new CFPlus::UI::Label
max_w => $::WIDTH * 0.4,
ellipsise => 0,
@@ -338,7 +335,7 @@
unshift @dialog, my $table = new CFPlus::UI::Table;
# left: re-roll
- $table->add (0, 0, new CFPlus::UI::Button
+ $table->add_at (0, 0, new CFPlus::UI::Button
text => "Roll Again",
on_activate => sub {
$conn->send ("reply y");
@@ -362,7 +359,7 @@
],
), 1 .. 2;
- $table->add (2, 0, new CFPlus::UI::Button
+ $table->add_at (2, 0, new CFPlus::UI::Button
text => "Swap Stats",
on_activate => sub {
$conn->{stat_change_with} = $sw2->{value};
@@ -371,10 +368,10 @@
0
},
);
- $table->add (2, 1, new CFPlus::UI::HBox children => [$sw1, $sw2]);
+ $table->add_at (2, 1, new CFPlus::UI::HBox children => [$sw1, $sw2]);
# right: accept
- $table->add (4, 0, new CFPlus::UI::Button
+ $table->add_at (4, 0, new CFPlus::UI::Button
text => "Accept",
on_activate => sub {
$conn->send ("reply n");
@@ -526,8 +523,8 @@
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,
+ $table->add_at (0, $row, new CFPlus::UI::Label valign => 0, align => 1, text => "OpenGL Info");
+ $table->add_at (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) . "");
@@ -535,8 +532,8 @@
"Video Mode. The video mode to use for fullscreen (and the window size for windowed operation). "
. "The format is width x height \@ depth-per-channel + alpha-channel.";
- $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);
+ $table->add_at (0, $row, new CFPlus::UI::Label valign => 0, align => 1, text => "Video Mode");
+ $table->add_at (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],
@@ -553,28 +550,28 @@
});
$mode_slider->emit (changed => $mode_slider->{range}[0]);
- $table->add (0, $row, new CFPlus::UI::Label valign => 0, align => 1, text => "Fullscreen");
- $table->add (1, $row++, $FULLSCREEN_ENABLE = new CFPlus::UI::CheckBox
+ $table->add_at (0, $row, new CFPlus::UI::Label valign => 0, align => 1, text => "Fullscreen");
+ $table->add_at (1, $row++, $FULLSCREEN_ENABLE = new CFPlus::UI::CheckBox
state => $CFG->{fullscreen},
tooltip => "Bring the client into fullscreen mode.",
on_changed => sub { my ($self, $value) = @_; $CFG->{fullscreen} = $value; 0 }
);
- $table->add (0, $row, new CFPlus::UI::Label valign => 0, align => 1, text => "Fast & Ugly");
- $table->add (1, $row++, new CFPlus::UI::CheckBox
+ $table->add_at (0, $row, new CFPlus::UI::Label valign => 0, align => 1, text => "Fast & Ugly");
+ $table->add_at (1, $row++, new CFPlus::UI::CheckBox
state => $CFG->{fast},
tooltip => "Lower the visual quality considerably to speed up rendering.",
on_changed => sub { my ($self, $value) = @_; $CFG->{fast} = $value; 0 }
);
- $table->add (0, $row, new CFPlus::UI::Label valign => 0, align => 1, text => "GUI Fontsize");
- $table->add (1, $row++, new CFPlus::UI::Slider
+ $table->add_at (0, $row, new CFPlus::UI::Label valign => 0, align => 1, text => "GUI Fontsize");
+ $table->add_at (1, $row++, new CFPlus::UI::Slider
range => [$CFG->{gui_fontsize}, 0.5, 2, 0, 0.1],
tooltip => "The base font size used by most GUI elements that do not have their own setting.",
on_changed => sub { $CFG->{gui_fontsize} = $_[1]; 0 },
);
- $table->add (1, $row++, new CFPlus::UI::Button
+ $table->add_at (1, $row++, new CFPlus::UI::Button
expand => 1, align => 0, text => "Apply",
tooltip => "Apply the video settings above.",
on_activate => sub {
@@ -584,15 +581,15 @@
}
);
- $table->add (0, $row, new CFPlus::UI::Label valign => 0, align => 1, text => "Map Scale");
- $table->add (1, $row++, new CFPlus::UI::Slider
+ $table->add_at (0, $row, new CFPlus::UI::Label valign => 0, align => 1, text => "Map Scale");
+ $table->add_at (1, $row++, new CFPlus::UI::Slider
range => [(log $CFG->{map_scale}) / (log 2), -3, 1, 0, 1],
tooltip => "Enlarge or shrink the displayed map. Changes are instant.",
on_changed => sub { my ($self, $value) = @_; $CFG->{map_scale} = 2 ** $value; 0 }
);
- $table->add (0, $row, new CFPlus::UI::Label valign => 0, align => 1, text => "Map Smoothing");
- $table->add (1, $row++, new CFPlus::UI::CheckBox
+ $table->add_at (0, $row, new CFPlus::UI::Label valign => 0, align => 1, text => "Map Smoothing");
+ $table->add_at (1, $row++, new CFPlus::UI::CheckBox
state => $CFG->{map_smoothing},
tooltip => "Map Smoothing tries to make tile borders less square. "
. "This increases load on the graphics subsystem and works only with 2.x servers. "
@@ -600,40 +597,29 @@
on_changed => sub { my ($self, $value) = @_; $CFG->{map_smoothing} = $value; 0 }
);
- $table->add (0, $row, new CFPlus::UI::Label valign => 0, align => 1, text => "Fog of War");
- $table->add (1, $row++, new CFPlus::UI::CheckBox
+ $table->add_at (0, $row, new CFPlus::UI::Label valign => 0, align => 1, text => "Fog of War");
+ $table->add_at (1, $row++, new CFPlus::UI::CheckBox
state => $CFG->{fow_enable},
tooltip => "Fog-of-War marks areas that cannot be seen by the player. Changes are instant.",
on_changed => sub { my ($self, $value) = @_; $CFG->{fow_enable} = $value; 0 }
);
- $table->add (0, $row, new CFPlus::UI::Label valign => 0, align => 1, text => "FoW Intensity");
- $table->add (1, $row++, new CFPlus::UI::Slider
+ $table->add_at (0, $row, new CFPlus::UI::Label valign => 0, align => 1, text => "FoW Intensity");
+ $table->add_at (1, $row++, new CFPlus::UI::Slider
range => [$CFG->{fow_intensity}, 0, 1, 0, 1 / 256],
tooltip => "Fog of War Lightness. The higher the intensity, the lighter the Fog-of-War color. Changes are instant.",
on_changed => sub { my ($self, $value) = @_; $CFG->{fow_intensity} = $value; 0 }
);
- $table->add (0, $row, new CFPlus::UI::Label valign => 0, align => 1, text => "FoW Smoothing");
- $table->add (1, $row++, new CFPlus::UI::CheckBox
- state => $CFG->{fow_smooth},
- tooltip => "Smooth the Fog-of-War a bit to make it more realistic. Changes are instant.",
- on_changed => sub {
- my ($self, $value) = @_;
- $CFG->{fow_smooth} = $value;
- 0
- }
- );
-
- $table->add (0, $row, new CFPlus::UI::Label valign => 0, align => 1, text => "Message Fontsize");
- $table->add (1, $row++, new CFPlus::UI::Slider
+ $table->add_at (0, $row, new CFPlus::UI::Label valign => 0, align => 1, text => "Message Fontsize");
+ $table->add_at (1, $row++, new CFPlus::UI::Slider
range => [$CFG->{log_fontsize}, 0.5, 2, 0, 0.1],
tooltip => "The font size used by the message/server log window only. Changes are instant.",
on_changed => sub { $LOGVIEW->set_fontsize ($CFG->{log_fontsize} = $_[1]); 0 },
);
- $table->add (0, $row, new CFPlus::UI::Label valign => 0, align => 1, text => "Gauge fontsize");
- $table->add (1, $row++, new CFPlus::UI::Slider
+ $table->add_at (0, $row, new CFPlus::UI::Label valign => 0, align => 1, text => "Gauge fontsize");
+ $table->add_at (1, $row++, new CFPlus::UI::Slider
range => [$CFG->{gauge_fontsize}, 0.5, 2, 0, 0.1],
tooltip => "Adjusts the fontsize of the gauges at the bottom right. Changes are instant.",
on_changed => sub {
@@ -643,8 +629,8 @@
}
);
- $table->add (0, $row, new CFPlus::UI::Label valign => 0, align => 1, text => "Gauge size");
- $table->add (1, $row++, new CFPlus::UI::Slider
+ $table->add_at (0, $row, new CFPlus::UI::Label valign => 0, align => 1, text => "Gauge size");
+ $table->add_at (1, $row++, new CFPlus::UI::Slider
range => [$CFG->{gauge_size}, 0.2, 0.8],
tooltip => "Adjust the size of the stats gauges at the bottom right. Changes are instant.",
on_changed => sub {
@@ -664,18 +650,18 @@
my $row = 0;
- $table->add (0, $row, new CFPlus::UI::Label valign => 0, align => 1, text => "Audio Enable");
- $table->add (1, $row++, new CFPlus::UI::CheckBox
+ $table->add_at (0, $row, new CFPlus::UI::Label valign => 0, align => 1, text => "Audio Enable");
+ $table->add_at (1, $row++, new CFPlus::UI::CheckBox
state => $CFG->{audio_enable},
tooltip => "Master Audio Enable. If enabled, sound effects and music will be played. If disabled, no audio will be used and the soundcard will not be opened.",
on_changed => sub { $CFG->{audio_enable} = $_[1]; 0 }
);
-# $table->add (0, 9, new CFPlus::UI::Label valign => 0, align => 1, text => "Effects Volume");
-# $table->add (1, 8, new CFPlus::UI::Slider range => [$CFG->{effects_volume}, 0, 128, 1], on_changed => sub {
+# $table->add_at (0, 9, new CFPlus::UI::Label valign => 0, align => 1, text => "Effects Volume");
+# $table->add_at (1, 8, new CFPlus::UI::Slider range => [$CFG->{effects_volume}, 0, 128, 1], on_changed => sub {
# $CFG->{effects_volume} = $_[1];
# });
- $table->add (0, $row, new CFPlus::UI::Label valign => 0, align => 1, text => "Background Music");
- $table->add (1, $row++, my $hbox = new CFPlus::UI::HBox);
+ $table->add_at (0, $row, new CFPlus::UI::Label valign => 0, align => 1, text => "Background Music");
+ $table->add_at (1, $row++, my $hbox = new CFPlus::UI::HBox);
$hbox->add (new CFPlus::UI::CheckBox
expand => 1, state => $CFG->{bgm_enable},
tooltip => "If enabled, playing of background music is enabled. If disabled, no background music will be played.",
@@ -687,7 +673,7 @@
on_changed => sub { $CFG->{bgm_volume} = $_[1]; CFPlus::MixMusic::volume $_[1] * 128; 0 }
);
- $table->add (1, $row++, new CFPlus::UI::Button
+ $table->add_at (1, $row++, new CFPlus::UI::Button
expand => 1, align => 0, text => "Apply",
tooltip => "Apply the audio settings",
on_activate => sub {
@@ -756,17 +742,24 @@
sub debug_setup {
my $table = new CFPlus::UI::Table;
- $table->add (0, 0, new CFPlus::UI::Label text => "Widget Borders");
- $table->add (1, 0, new CFPlus::UI::CheckBox on_changed => sub { $ENV{CFPLUS_DEBUG} ^= 1; 0 });
- $table->add (0, 1, new CFPlus::UI::Label text => "Tooltip Widget Info");
- $table->add (1, 1, new CFPlus::UI::CheckBox on_changed => sub { $ENV{CFPLUS_DEBUG} ^= 2; 0 });
- $table->add (0, 2, new CFPlus::UI::Label text => "Show FPS");
- $table->add (1, 2, new CFPlus::UI::CheckBox on_changed => sub { $ENV{CFPLUS_DEBUG} ^= 4; 0 });
- $table->add (0, 3, new CFPlus::UI::Label text => "Suppress Tooltips");
- $table->add (1, 3, new CFPlus::UI::CheckBox on_changed => sub { $ENV{CFPLUS_DEBUG} ^= 8; 0 });
- $table->add (0, 4, new CFPlus::UI::Button text => "die on click(tm)", on_activate => sub { &CFPlus::debug() } );
-
- $table->add (0, 5, new CFPlus::UI::TextEdit text => "line1\0152\0153");#d#
+ $table->add_at (0, 0, new CFPlus::UI::Label text => "Widget Borders");
+ $table->add_at (1, 0, new CFPlus::UI::CheckBox on_changed => sub { $ENV{CFPLUS_DEBUG} ^= 1; 0 });
+ $table->add_at (0, 1, new CFPlus::UI::Label text => "Tooltip Widget Info");
+ $table->add_at (1, 1, new CFPlus::UI::CheckBox on_changed => sub { $ENV{CFPLUS_DEBUG} ^= 2; 0 });
+ $table->add_at (0, 2, new CFPlus::UI::Label text => "Show FPS");
+ $table->add_at (1, 2, new CFPlus::UI::CheckBox on_changed => sub { $ENV{CFPLUS_DEBUG} ^= 4; 0 });
+ $table->add_at (0, 3, new CFPlus::UI::Label text => "Suppress Tooltips");
+ $table->add_at (1, 3, new CFPlus::UI::CheckBox on_changed => sub { $ENV{CFPLUS_DEBUG} ^= 8; 0 });
+ $table->add_at (0, 4, new CFPlus::UI::Button text => "die on click(tm)", on_activate => sub { &CFPlus::debug() } );
+
+ $table->add_at (0, 5, new CFPlus::UI::TextEdit text => "line1\0152\0153");#d#
+
+ $table->add_at (7,7, my $t = new CFPlus::UI::Table);
+ $t->add_at (0,0, new CFPlus::UI::Label text => "a a a a", rowspan => 1, colspan => 2);
+ $t->add_at (2,0, new CFPlus::UI::Label text => "b\nb", rowspan => 2, colspan => 1);
+ $t->add_at (1,2, new CFPlus::UI::Label text => "c c c c", rowspan => 1, colspan => 2);
+ $t->add_at (0,1, new CFPlus::UI::Label text => "d\nd", rowspan => 2, colspan => 1);
+ $t->add_at (1,1, new CFPlus::UI::Label text => "e");
$table
}
@@ -824,10 +817,10 @@
) {
my ($col, $row, $id, $label, $template) = @$_;
- $tbl->add ($col , $row, $STATWIDS->{$id} = new CFPlus::UI::Label
+ $tbl->add_at ($col , $row, $STATWIDS->{$id} = new CFPlus::UI::Label
font => $FONT_FIXED, can_hover => 1, can_events => 1, valign => 0,
align => +1, template => $template, tooltip => "#stat_$label");
- $tbl->add ($col + 1, $row, $STATWIDS->{"$id\_lbl"} = new CFPlus::UI::Label
+ $tbl->add_at ($col + 1, $row, $STATWIDS->{"$id\_lbl"} = new CFPlus::UI::Label
font => $FONT_FIXED, can_hover => 1, can_events => 1, fg => $color2, valign => 0,
align => -1, text => $label, tooltip => "#stat_$label");
}
@@ -878,11 +871,12 @@
ghit => ["Ghost hit",
"Ghost hit (special attack used by ghosts and ghost-like beings)"],
);
+
for (qw/slow holyw conf fire depl magic
drain acid pois para deat phys
blind fear tund elec cold ghit/)
{
- $tbl2->add ($col, $row,
+ $tbl2->add_at ($col, $row,
$STATWIDS->{"res_$_"} =
new CFPlus::UI::Label
font => $FONT_FIXED,
@@ -893,14 +887,14 @@
can_hover => 1,
tooltip => $resist_names{$_}->[1],
);
- $tbl2->add ($col + 1, $row, new CFPlus::UI::Image
+ $tbl2->add_at ($col + 1, $row, new CFPlus::UI::Image
font => $FONT_FIXED,
can_hover => 1,
can_events => 1,
path => "ui/resist/resist_$_.png",
tooltip => $resist_names{$_}->[1],
);
- $tbl2->add ($col + 2, $row, new CFPlus::UI::Label
+ $tbl2->add_at ($col + 2, $row, new CFPlus::UI::Label
text => $resist_names{$_}->[0],
font => $FONT_FIXED,
can_hover => 1,
@@ -943,7 +937,7 @@
my $table = $METASERVER->{table};
$table->clear;
- $table->add (0, 0, my $label = new CFPlus::UI::Label max_w => $WIDTH * 0.8, text => "fetching server list...");
+ $table->add_at (0, 0, my $label = new CFPlus::UI::Label max_w => $WIDTH * 0.8, text => "fetching server list...");
my $ok = 0;
@@ -964,7 +958,7 @@
"Short information about this server provided by its admins.",
);
my @col = qw(#Users Host Uptime Version Description);
- $table->add ($_, 0, new CFPlus::UI::Label
+ $table->add_at ($_, 0, new CFPlus::UI::Label
can_hover => 1, can_events => 1,
align => 0, fg => [1, 1, 0],
text => $col[$_], tooltip => $tip[$_])
@@ -996,7 +990,7 @@
$y++;
- $table->add (scalar @$m, $y, new CFPlus::UI::VBox children => [
+ $table->add_at (scalar @$m, $y, new CFPlus::UI::VBox children => [
(new CFPlus::UI::Button
text => "Use",
tooltip => "Put this server into the Host:Port field",
@@ -1009,7 +1003,7 @@
(new CFPlus::UI::Empty expand => 1),
]);
- $table->add ($_, $y, new CFPlus::UI::Label
+ $table->add_at ($_, $y, new CFPlus::UI::Label
max_w => $::WIDTH * 0.4,
ellipsise => 0,
align => $align[$_],
@@ -1060,10 +1054,10 @@
label => "Connection Settings",
child => (my $table = new CFPlus::UI::Table expand => 1, col_expand => [0, 1]),
);
- $table->add (0, 2, new CFPlus::UI::Label valign => 0, align => 1, text => "Host:Port");
+ $table->add_at (0, 2, new CFPlus::UI::Label valign => 0, align => 1, text => "Host:Port");
{
- $table->add (1, 2, my $vbox = new CFPlus::UI::VBox);
+ $table->add_at (1, 2, my $vbox = new CFPlus::UI::VBox);
$vbox->add (
$HOST_ENTRY = new CFPlus::UI::Entry
@@ -1087,23 +1081,23 @@
);
}
- $table->add (0, 4, new CFPlus::UI::Label valign => 0, align => 1, text => "Username");
- $table->add (1, 4, new CFPlus::UI::Entry
+ $table->add_at (0, 4, new CFPlus::UI::Label valign => 0, align => 1, text => "Username");
+ $table->add_at (1, 4, new CFPlus::UI::Entry
text => $CFG->{profile}{default}{user},
tooltip => "The name of your character on the server",
on_changed => sub { my ($self, $value) = @_; $CFG->{profile}{default}{user} = $value }
);
- $table->add (0, 5, new CFPlus::UI::Label valign => 0, align => 1, text => "Password");
- $table->add (1, 5, new CFPlus::UI::Entry
+ $table->add_at (0, 5, new CFPlus::UI::Label valign => 0, align => 1, text => "Password");
+ $table->add_at (1, 5, new CFPlus::UI::Entry
text => $CFG->{profile}{default}{password},
hidden => 1,
tooltip => "The password for your character",
on_changed => sub { my ($self, $value) = @_; $CFG->{profile}{default}{password} = $value }
);
- $table->add (0, 7, new CFPlus::UI::Label valign => 0, align => 1, text => "Map Size");
- $table->add (1, 7, new CFPlus::UI::Slider
+ $table->add_at (0, 7, new CFPlus::UI::Label valign => 0, align => 1, text => "Map Size");
+ $table->add_at (1, 7, new CFPlus::UI::Slider
force_w => 100,
range => [$CFG->{mapsize}, 10, 100, 0, 1],
tooltip => "This is the size of the portion of the map update the server sends you. "
@@ -1113,8 +1107,8 @@
on_changed => sub { my ($self, $value) = @_; $CFG->{mapsize} = $self->{range}[0] = $value = int $value; 0 },
);
- $table->add (0, 8, new CFPlus::UI::Label valign => 0, align => 1, text => "Face Prefetch");
- $table->add (1, 8, new CFPlus::UI::CheckBox
+ $table->add_at (0, 8, new CFPlus::UI::Label valign => 0, align => 1, text => "Face Prefetch");
+ $table->add_at (1, 8, new CFPlus::UI::CheckBox
state => $CFG->{face_prefetch},
tooltip => "Background Image Prefetch\n\n"
. "If enabled, the client automatically pre-fetches images from the server. "
@@ -1126,8 +1120,8 @@
on_changed => sub { $CFG->{face_prefetch} = $_[1]; 0 },
);
- $table->add (0, 9, new CFPlus::UI::Label valign => 0, align => 1, text => "Output-Rate");
- $table->add (1, 9, new CFPlus::UI::Entry
+ $table->add_at (0, 9, new CFPlus::UI::Label valign => 0, align => 1, text => "Output-Rate");
+ $table->add_at (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 "
@@ -1135,21 +1129,21 @@
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
+ $table->add_at (0, 10, new CFPlus::UI::Label valign => 0, align => 1, text => "Output-Count");
+ $table->add_at (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, 11, new CFPlus::UI::Label valign => 0, align => 1, text => "Output-Sync");
- $table->add (1, 11, new CFPlus::UI::Entry
+ $table->add_at (0, 11, new CFPlus::UI::Label valign => 0, align => 1, text => "Output-Sync");
+ $table->add_at (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, 12, $LOGIN_BUTTON = new CFPlus::UI::Button
+ $table->add_at (1, 12, $LOGIN_BUTTON = new CFPlus::UI::Button
expand => 1,
align => 0,
text => "Login",
@@ -1173,8 +1167,8 @@
my $row = 0;
- $table->add (0, $row, new CFPlus::UI::Label valign => 0, align => 1, text => "Chat Command");
- $table->add (1, $row++, my $saycmd = new CFPlus::UI::Entry
+ $table->add_at (0, $row, new CFPlus::UI::Label valign => 0, align => 1, text => "Chat Command");
+ $table->add_at (1, $row++, 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. "
@@ -1186,8 +1180,8 @@
}
);
- $table->add (0, $row, new CFPlus::UI::Label valign => 0, align => 1, text => "Tip of the day");
- $table->add (1, $row++, new CFPlus::UI::CheckBox
+ $table->add_at (0, $row, new CFPlus::UI::Label valign => 0, align => 1, text => "Tip of the day");
+ $table->add_at (1, $row++, new CFPlus::UI::CheckBox
state => $CFG->{show_tips},
tooltip => "Show the Tip of the day window at startup?",
on_changed => sub {
@@ -1197,8 +1191,8 @@
}
);
- $table->add (0, $row, new CFPlus::UI::Label valign => 0, align => 1, text => "Messages Window Size");
- $table->add (1, $row++, my $saycmd = new CFPlus::UI::Entry
+ $table->add_at (0, $row, new CFPlus::UI::Label valign => 0, align => 1, text => "Messages Window Size");
+ $table->add_at (1, $row++, my $saycmd = new CFPlus::UI::Entry
text => $CFG->{logview_max_par},
tooltip => "This is maximum number of messages remembered in the Messages window. If the server "
. "sends more messages than this number, older messages get removed to save memory and "
@@ -1329,14 +1323,14 @@
)
{
my ($title, $x, $y, @bits) = @$_;
- $table->add ($x, $y, new CFPlus::UI::Label text => $title, align => 1, fg => [1, 1, 0]);
+ $table->add_at ($x, $y, new CFPlus::UI::Label text => $title, align => 1, fg => [1, 1, 0]);
for (@bits) {
++$y;
my $mask = $_->[1];
- $table->add ($x , $y, new CFPlus::UI::Label text => $_->[0], align => 1, expand => 1);
- $table->add ($x+1, $y, my $checkbox = new CFPlus::UI::CheckBox
+ $table->add_at ($x , $y, new CFPlus::UI::Label text => $_->[0], align => 1, expand => 1);
+ $table->add_at ($x+1, $y, my $checkbox = new CFPlus::UI::CheckBox
state => $::CFG->{pickup} & $mask,
on_changed => sub {
my ($box, $value) = @_;
@@ -1357,7 +1351,7 @@
}
}
- $table->add (2, 18, new CFPlus::UI::ValSlider
+ $table->add_at (2, 18, new CFPlus::UI::ValSlider
range => [$::CFG->{pickup} & 0xF, 0, 16, 1, 1],
template => ">= 99",
to_value => sub { ">= " . 5 * $_[0] },
@@ -1370,7 +1364,7 @@
1;
});
- $table->add (3, 18, new CFPlus::UI::Button
+ $table->add_at (3, 18, new CFPlus::UI::Button
text => "set",
on_activate => sub {
$::CONN->send_command ("pickup $::CFG->{pickup}")
@@ -1697,13 +1691,13 @@
$vbox->add (my $table = new CFPlus::UI::Table col_expand => [0, 1]);
- $table->add (0, 0, new CFPlus::UI::Button
+ $table->add_at (0, 0, new CFPlus::UI::Button
text => "Close",
tooltip => "Close the tip of the day window. To never see it again, disable the tip of the day in the Server Setup.",
on_activate => $close,
);
- $table->add (2, 0, new CFPlus::UI::Button
+ $table->add_at (2, 0, new CFPlus::UI::Button
text => "Next",
tooltip => "Show the next Tip of the day.",
on_activate => sub {
@@ -1980,16 +1974,16 @@
$vb->add (my $table = new CFPlus::UI::Table expand => 1);
my $row = 0;
if ($info->{has_name}) {
- $table->add (0, $row, new CFPlus::UI::Label text => "Name:");
- $table->add (1, $row++, new CFPlus::UI::Entry expand => 1, on_changed => sub { $::IN_BUILD_MODE->{name} = $_[1]; 0 });
+ $table->add_at (0, $row, new CFPlus::UI::Label text => "Name:");
+ $table->add_at (1, $row++, new CFPlus::UI::Entry expand => 1, on_changed => sub { $::IN_BUILD_MODE->{name} = $_[1]; 0 });
}
if ($info->{has_text}) {
- $table->add (0, $row, new CFPlus::UI::Label text => "Text:");
- $table->add (1, $row++, new CFPlus::UI::Entry expand => 1, on_changed => sub { $::IN_BUILD_MODE->{text} = $_[1]; 0 });
+ $table->add_at (0, $row, new CFPlus::UI::Label text => "Text:");
+ $table->add_at (1, $row++, new CFPlus::UI::Entry expand => 1, on_changed => sub { $::IN_BUILD_MODE->{text} = $_[1]; 0 });
}
if ($info->{has_connection}) {
- $table->add (0, $row, new CFPlus::UI::Label text => "Connection ID:");
- $table->add (1, $row++,
+ $table->add_at (0, $row, new CFPlus::UI::Label text => "Connection ID:");
+ $table->add_at (1, $row++,
new CFPlus::UI::Entry
expand => 1,
on_changed => sub { $::IN_BUILD_MODE->{connection} = $_[1]; 0 },
@@ -2256,7 +2250,6 @@
map_scale => 1,
fow_enable => 1,
fow_intensity => 0,
- fow_smooth => 1,
map_smoothing => 1,
gui_fontsize => 1,
log_fontsize => 0.7,
@@ -2304,6 +2297,8 @@
@SDL_MODES = CFPlus::SDL_ListModes 5, 0 unless @SDL_MODES;
@SDL_MODES or CFPlus::fatal "Unable to find a usable video mode\n(hardware accelerated opengl fullscreen)";
+ @SDL_MODES = sort { $a->[0] * $a->[1] <=> $b->[0] * $b->[1] } @SDL_MODES;
+
$CFG->{sdl_mode} = 0 if $CFG->{sdl_mode} > @SDL_MODES;
{