ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/Deliantra-Client/bin/cfplus
(Generate patch)

Comparing deliantra/Deliantra-Client/bin/cfplus (file contents):
Revision 1.29 by root, Mon May 29 21:54:16 2006 UTC vs.
Revision 1.38 by elmex, Wed May 31 13:44:26 2006 UTC

104our $INV; 104our $INV;
105our $INVR; 105our $INVR;
106our $INV_RIGHT_HB; 106our $INV_RIGHT_HB;
107 107
108our $BIND_WINDOW; 108our $BIND_WINDOW;
109our $BIND_EDITOR;
110
111our $SPELL_LIST;
109 112
110sub status { 113sub status {
111 $STATUSBOX->add (CFClient::UI::Label::escape $_[0], pri => -10, group => "status", timeout => 10, fg => [1, 1, 0, 1]); 114 $STATUSBOX->add (CFClient::UI::Label::escape $_[0], pri => -10, group => "status", timeout => 10, fg => [1, 1, 0, 1]);
112} 115}
113 116
114sub debug { 117sub debug {
115 $DEBUG_STATUS->set_text ($_[0]); 118 $DEBUG_STATUS->set_text ($_[0]);
116 my ($w, $h) = $DEBUG_STATUS->size_request;
117 $DEBUG_STATUS->move ($WIDTH - $w, 0);
118} 119}
119 120
120sub start_game { 121sub start_game {
121 status "logging in..."; 122 status "logging in...";
122 123
181 $CONN = 0; # false, does not autovivify 182 $CONN = 0; # false, does not autovivify
182} 183}
183 184
184sub client_setup { 185sub client_setup {
185 my $dialog = new CFClient::UI::FancyFrame 186 my $dialog = new CFClient::UI::FancyFrame
186 req_x => 1, 187 x => 1,
187 req_y => $HEIGHT * (1/8), 188 y => $HEIGHT * (1/8),
188 name => "client_setup", 189 name => "client_setup",
189 title => "Client Setup", 190 title => "Client Setup",
190 child => (my $vbox = new CFClient::UI::VBox); 191 child => (my $vbox = new CFClient::UI::VBox);
192
191 $vbox->add (my $table = new CFClient::UI::Table expand => 1, col_expand => [0, 1]); 193 $vbox->add (my $table = new CFClient::UI::Table expand => 1, col_expand => [0, 1]);
192 194
193 $table->add (0, 0, new CFClient::UI::Label valign => 0, align => 1, text => "Video Mode"); 195 $table->add (0, 0, new CFClient::UI::Label valign => 0, align => 1, text => "Video Mode");
194 $table->add (1, 0, my $hbox = new CFClient::UI::HBox); 196 $table->add (1, 0, my $hbox = new CFClient::UI::HBox);
195 197
196 $hbox->add (my $mode_slider = new CFClient::UI::Slider expand => 1, req_w => 100, range => [$CFG->{sdl_mode}, 0, $#SDL_MODES, 0, 1]); 198 $hbox->add (my $mode_slider = new CFClient::UI::Slider force_w => $WIDTH * 0.1, expand => 1, range => [$CFG->{sdl_mode}, 0, $#SDL_MODES, 0, 1]);
197 $hbox->add (my $mode_label = new CFClient::UI::Label align => 0, valign => 0, height => 0.8, template => "9999x9999"); 199 $hbox->add (my $mode_label = new CFClient::UI::Label align => 0, valign => 0, height => 0.8, template => "9999x9999");
198 200
199 $mode_slider->connect (changed => sub { 201 $mode_slider->connect (changed => sub {
200 my ($self, $value) = @_; 202 my ($self, $value) = @_;
201 203
389 391
390sub make_gauge_window { 392sub make_gauge_window {
391 my $gh = int $HEIGHT * $CFG->{gauge_size}; 393 my $gh = int $HEIGHT * $CFG->{gauge_size};
392 394
393 my $win = new CFClient::UI::Frame ( 395 my $win = new CFClient::UI::Frame (
394 req_x => 0, 396 force_x => 0,
395 req_y => -1, 397 force_y => "max",
396 def_w => $WIDTH, 398 force_w => $WIDTH,
397 def_h => $gh, 399 force_h => $gh,
398 ); 400 );
399 401
400 $win->add (my $hbox = new CFClient::UI::HBox 402 $win->add (my $hbox = new CFClient::UI::HBox
401 children => [ 403 children => [
402 (new CFClient::UI::HBox expand => 1), 404 (new CFClient::UI::HBox expand => 1),
441} 443}
442 444
443 445
444sub make_stats_window { 446sub make_stats_window {
445 my $tgw = new CFClient::UI::FancyFrame 447 my $tgw = new CFClient::UI::FancyFrame
446 req_y => $HEIGHT * (2/8), 448 y => $HEIGHT * (2/8),
447 req_x => -1, 449 x => "max",
448 title => "Stats", 450 title => "Stats",
449 name => "stats_window"; 451 name => "stats_window";
450 452
451 $tgw->add (new CFClient::UI::Window child => my $vb = new CFClient::UI::VBox); 453 $tgw->add (new CFClient::UI::Window child => my $vb = new CFClient::UI::VBox);
452 $vb->add ($STATWIDS->{title} = new CFClient::UI::Label valign => 0, align => -1, text => "Title:", expand => 1, 454 $vb->add ($STATWIDS->{title} = new CFClient::UI::Label valign => 0, align => -1, text => "Title:", expand => 1,
453 can_hover => 1, can_events => 1, 455 can_hover => 1, can_events => 1,
454 tooltip => "Your name and title. You can change your title by using the <b>title</b> command, if supported by the server."); 456 tooltip => "Your name and title. You can change your title by using the <b>title</b> command, if supported by the server.");
717 }); 719 });
718} 720}
719 721
720sub server_setup { 722sub server_setup {
721 my $dialog = $SERVER_SETUP = new CFClient::UI::FancyFrame 723 my $dialog = $SERVER_SETUP = new CFClient::UI::FancyFrame
722 x => $WIDTH * (1/3), 724 x => "center",
723 y => $HEIGHT * (1/8), 725 y => "center",
724 name => "server_setup", 726 name => "server_setup",
725 title => "Server Setup", 727 title => "Server Setup",
726 child => (my $vbox = new CFClient::UI::VBox), 728 child => (my $vbox = new CFClient::UI::VBox),
727 on_visibility_change => sub {
728 my ($self, $visible) = @_;
729 $self->center if $visible;
730 },
731 ; 729 ;
732 730
733 $vbox->add (my $table = new CFClient::UI::Table expand => 1, col_expand => [0, 1]); 731 $vbox->add (my $table = new CFClient::UI::Table expand => 1, col_expand => [0, 1]);
734 $table->add (0, 2, new CFClient::UI::Label valign => 0, align => 1, text => "Host:Port"); 732 $table->add (0, 2, new CFClient::UI::Label valign => 0, align => 1, text => "Host:Port");
735 733
781 } 779 }
782 ); 780 );
783 781
784 $table->add (0, 7, new CFClient::UI::Label valign => 0, align => 1, text => "Map Size"); 782 $table->add (0, 7, new CFClient::UI::Label valign => 0, align => 1, text => "Map Size");
785 $table->add (1, 7, new CFClient::UI::Slider 783 $table->add (1, 7, new CFClient::UI::Slider
786 req_w => 100, 784 force_w => 100,
787 range => [$CFG->{mapsize}, 10, 100, 0, 1], 785 range => [$CFG->{mapsize}, 10, 100, 0, 1],
788 tooltip => "This is the size of the portion of the map update the server sends you. " 786 tooltip => "This is the size of the portion of the map update the server sends you. "
789 . "If you set this to a high value you will be able to see further, " 787 . "If you set this to a high value you will be able to see further, "
790 . "but you also increase bandwidth requirements and latency. " 788 . "but you also increase bandwidth requirements and latency. "
791 . "This option is only used once at log-in.", 789 . "This option is only used once at log-in.",
840 my $window = new CFClient::UI::FancyFrame 838 my $window = new CFClient::UI::FancyFrame
841 name => "message_window", 839 name => "message_window",
842 title => "Messages", 840 title => "Messages",
843 border_bg => [1, 1, 1, 1], 841 border_bg => [1, 1, 1, 1],
844 bg => [0, 0, 0, 0.75], 842 bg => [0, 0, 0, 0.75],
845 req_x => -1, 843 x => "max",
846 req_y => 0, 844 y => 0,
847 def_w => int $::WIDTH / 3, 845 force_w => $::WIDTH / 3,
848 def_h => int $::HEIGHT / 5, 846 force_h => $::HEIGHT / 5,
849 child => (my $vbox = new CFClient::UI::VBox); 847 child => (my $vbox = new CFClient::UI::VBox);
850 848
851 $vbox->add ($LOGVIEW); 849 $vbox->add ($LOGVIEW);
852 850
853 $vbox->add (my $input = new CFClient::UI::Entry 851 $vbox->add (my $input = new CFClient::UI::Entry
868 on_activate => sub { 866 on_activate => sub {
869 my ($input, $text) = @_; 867 my ($input, $text) = @_;
870 $input->set_text (''); 868 $input->set_text ('');
871 869
872 if ($text =~ /^\/bind\s+(.*)$/) { 870 if ($text =~ /^\/bind\s+(.*)$/) {
873 CFClient::Recorder::open_binding_dialog ([$1]); 871 CFClient::Binder::open_binding_dialog (sub {
872 my ($mod, $sym) = @_;
873 $::CFG->{bindings}->{$mod}->{$sym} = [$1];
874 });
874 } elsif ($text =~ /^\/(.*)/) { 875 } elsif ($text =~ /^\/(.*)/) {
875 $::CONN->user_send ($1); 876 $::CONN->user_send ($1);
876 } else { 877 } else {
877 my $say_cmd = $::CFG->{say_command} || 'say'; 878 my $say_cmd = $::CFG->{say_command} || 'say';
878 $::CONN->user_send ("$say_cmd $text"); 879 $::CONN->user_send ("$say_cmd $text");
887 }, 888 },
888 ); 889 );
889 890
890 $CONSOLE = { 891 $CONSOLE = {
891 window => $window, 892 window => $window,
892 input => $input 893 input => $input,
893 }; 894 };
894 895
895 $window 896 $window
896} 897}
897 898
898sub open_quit_dialog { 899sub open_quit_dialog {
899 unless ($QUIT_DIALOG) { 900 unless ($QUIT_DIALOG) {
900 $QUIT_DIALOG = new CFClient::UI::FancyFrame title => "Really Quit?"; 901 $QUIT_DIALOG = new CFClient::UI::FancyFrame
902 x => "center",
903 y => "center",
904 title => "Really Quit?",
905 ;
901 906
902 $QUIT_DIALOG->add (my $vb = new CFClient::UI::VBox expand => 1); 907 $QUIT_DIALOG->add (my $vb = new CFClient::UI::VBox expand => 1);
903 908
904 $vb->add (new CFClient::UI::Label 909 $vb->add (new CFClient::UI::Label
905 text => "You should find a savebed and apply it first!", 910 text => "You should find a savebed and apply it first!",
918 on_activate => sub { exit }, 923 on_activate => sub { exit },
919 ); 924 );
920 } 925 }
921 926
922 $QUIT_DIALOG->show; 927 $QUIT_DIALOG->show;
923 $QUIT_DIALOG->center;
924} 928}
925 929
926sub make_inventory_window { 930sub make_inventory_window {
927 my $invwin = $INV_WINDOW = new CFClient::UI::FancyFrame 931 my $invwin = $INV_WINDOW = new CFClient::UI::FancyFrame
932 x => "center",
933 y => "center",
928 def_w => $WIDTH * 7/8, 934 force_w => $WIDTH * 9/10,
929 def_h => $HEIGHT * 7/8, 935 force_h => $HEIGHT * 9/10,
930 title => "Inventory", 936 title => "Inventory",
931 name => "inventory_window",
932 on_visibility_change => sub {
933 my ($self, $visible) = @_;
934 $self->center if $visible;
935 },
936 ; 937 ;
937 938
938 $invwin->add (my $hb = new CFClient::UI::HBox homogeneous => 1); 939 $invwin->add (my $hb = new CFClient::UI::HBox homogeneous => 1);
939 940
940 $hb->add (my $vb1 = new CFClient::UI::VBox); 941 $hb->add (my $vb1 = new CFClient::UI::VBox);
951 CFClient::Protocol::set_opencont ($::CONN, 0, "Floor"); 952 CFClient::Protocol::set_opencont ($::CONN, 0, "Floor");
952 953
953 $invwin 954 $invwin
954} 955}
955 956
957sub make_spell_list {
958 $SPELL_LIST = new CFClient::UI::SpellList
959 force_w => $WIDTH * (9/10),
960 force_h => $HEIGHT * (9/10);
961 $SPELL_LIST
962}
963
956sub make_binding_window { 964sub make_binding_window {
957 my $binding_list = new CFClient::UI::VBox; 965 my $binding_list = new CFClient::UI::VBox;
958 966
967 my $refresh;
959 my $refresh = sub { 968 $refresh = sub {
960 $binding_list->clear (); 969 $binding_list->clear ();
961 970
962 for my $mod (keys %{$::CFG->{bindings}}) { 971 for my $mod (keys %{$::CFG->{bindings}}) {
963 for my $sym (keys %{$::CFG->{bindings}->{$mod}}) { 972 for my $sym (keys %{$::CFG->{bindings}->{$mod}}) {
964 my $cmds = $::CFG->{bindings}->{$mod}->{$sym}; 973 my $cmds = $::CFG->{bindings}->{$mod}->{$sym};
965 next unless ref $cmds eq 'ARRAY' and @$cmds > 0; 974 next unless ref $cmds eq 'ARRAY' and @$cmds > 0;
966 975
967 my $lbl = join "; ", @$cmds; 976 my $lbl = join "; ", @$cmds;
968 my $nam = CFClient::Recorder::keycombo_to_name ($mod, $sym); 977 my $nam = CFClient::Binder::keycombo_to_name ($mod, $sym);
969 $binding_list->add (my $hb = new CFClient::UI::HBox); 978 $binding_list->add (my $hb = new CFClient::UI::HBox);
970 $hb->add (new CFClient::UI::Button 979 $hb->add (new CFClient::UI::Button
971 text => "delete", 980 text => "delete",
981 tooltip => "Deletes the binding",
972 on_activate => sub { 982 on_activate => sub {
973 $binding_list->remove ($hb); 983 $binding_list->remove ($hb);
974 delete $::CFG->{bindings}->{$mod}->{$sym}; 984 delete $::CFG->{bindings}->{$mod}->{$sym};
975 }); 985 });
986
987 $hb->add (new CFClient::UI::Button
988 text => "edit",
989 tooltip => "Edits the binding",
990 on_activate => sub {
991 $::BIND_EDITOR->set_binding (
992 $mod, $sym, $::CFG->{bindings}->{$mod}->{$sym},
993 sub {
994 my ($nmod, $nsym, $ncmds) = @_;
995 delete $::CFG->{bindings}->{$mod}->{$sym};
996 $::CFG->{bindings}->{$nmod}->{$nsym} = $ncmds;
997 $refresh->();
998 $::BIND_WINDOW->show;
999 },
1000 sub {
1001 $::BIND_WINDOW->show;
1002 });
1003 $::BIND_EDITOR->show;
1004 $::BIND_WINDOW->hide;
1005 });
1006
976 $hb->add (new CFClient::UI::Label text => "($nam)"); 1007 $hb->add (new CFClient::UI::Label text => "(Key: $nam)");
977 $hb->add (new CFClient::UI::Label text => $lbl, expand => 1); 1008 $hb->add (new CFClient::UI::Label text => $lbl, expand => 1);
978 } 1009 }
979 } 1010 }
980 }; 1011 };
981 1012
982 $BIND_WINDOW = new CFClient::UI::FancyFrame 1013 $BIND_WINDOW = new CFClient::UI::FancyFrame
983 title => "Bindings", 1014 title => "Bindings",
1015 x => "center",
1016 y => "center",
984 def_w => int $WIDTH * 7/8, 1017 def_w => int $WIDTH * 9/10,
985 def_h => int $HEIGHT * 7/8, 1018 def_h => int $HEIGHT * 9/10,
986 on_visibility_change => sub { 1019 on_visibility_change => sub {
987 my ($self, $visible) = @_; 1020 my ($self, $visible) = @_;
988 if ($visible) { 1021 $refresh->() if $visible;
989 $self->center;
990 $refresh->()
991 }
992 }; 1022 };
993 1023
1024 $BIND_WINDOW->add (my $vb = new CFClient::UI::VBox);
994 $BIND_WINDOW->add ($binding_list); 1025 $vb->add ($binding_list);
1026 $vb->add (my $hb = new CFClient::UI::HBox);
1027 $hb->add (new CFClient::UI::Button
1028 text => "record new",
1029 expand => 1,
1030 tooltip => "This button opens the binding editor with an empty binding.",
1031 on_activate => sub {
1032 $::BIND_EDITOR->set_binding (undef, undef, [],
1033 sub {
1034 my ($mod, $sym, $cmds) = @_;
1035 $::CFG->{bindings}->{$mod}->{$sym} = $cmds;
1036 $refresh->();
1037 $::BIND_WINDOW->show;
1038 },
1039 sub {
1040 $::BIND_WINDOW->show;
1041 });
1042 $::BIND_WINDOW->hide;
1043 $::BIND_EDITOR->show;
1044 },
1045 );
1046 $hb->add (new CFClient::UI::Button
1047 text => "close",
1048 tooltip => "Closes the binding window",
1049 expand => 1,
1050 on_activate => sub {
1051 $::BIND_WINDOW->hide;
1052 }
1053 );
1054
995 $refresh->(); 1055 $refresh->();
996 $BIND_WINDOW 1056 $BIND_WINDOW
997} 1057}
998 1058
999sub make_help_window { 1059sub make_help_window {
1069 if ($DEBUG_STATUS) { 1129 if ($DEBUG_STATUS) {
1070 CFClient::UI::rescale_widgets $WIDTH / $old_w, $HEIGHT / $old_h; 1130 CFClient::UI::rescale_widgets $WIDTH / $old_w, $HEIGHT / $old_h;
1071 } else { 1131 } else {
1072 # create the widgets 1132 # create the widgets
1073 1133
1074 $DEBUG_STATUS = new CFClient::UI::Label padding => 0, z => 100, req_x => -1; 1134 $DEBUG_STATUS = new CFClient::UI::Label
1135 padding => 0,
1136 z => 100,
1137 force_x => "max",
1138 force_y => 0;
1075 $DEBUG_STATUS->show; 1139 $DEBUG_STATUS->show;
1076 1140
1141 $BIND_EDITOR = new CFClient::UI::BindEditor (x => "max", y => 0);
1142
1077 $STATUSBOX = new CFClient::UI::Statusbox; 1143 $STATUSBOX = new CFClient::UI::Statusbox;
1078 $STATUSBOX->add ("Use <b>Alt-Enter</b> to toggle fullscreen mode", pri => -100, color => [1, 1, 1, 0.8]); 1144 $STATUSBOX->add ("Use <b>Alt-Enter</b> to toggle fullscreen mode", pri => -100, color => [1, 1, 1, 0.8]);
1079 1145
1080 (new CFClient::UI::Frame 1146 (new CFClient::UI::Frame
1081 bg => [0, 0, 0, 0.4], 1147 bg => [0, 0, 0, 0.4],
1082 req_y => -1, 1148 force_x => 0,
1149 force_y => "max",
1083 child => $STATUSBOX, 1150 child => $STATUSBOX,
1084 )->show; 1151 )->show;
1085 1152
1086 CFClient::UI::FancyFrame->new ( 1153 CFClient::UI::FancyFrame->new (
1154 x => 0,
1155 y => $FONTSIZE + 8,
1087 border_bg => [1, 1, 1, 192/255], 1156 border_bg => [1, 1, 1, 192/255],
1088 bg => [1, 1, 1, 0], 1157 bg => [1, 1, 1, 0],
1089 child => ($MAPMAP = new CFClient::MapWidget::MapMap 1158 child => ($MAPMAP = new CFClient::MapWidget::MapMap
1090 tooltip => "<b>Map</b>. On servers that support this feature, this will display an overview of the surrounding areas.", 1159 tooltip => "<b>Map</b>. On servers that support this feature, this will display an overview of the surrounding areas.",
1091 ), 1160 ),
1114 can_hover => 1, 1183 can_hover => 1,
1115 can_events => 1, 1184 can_events => 1,
1116 tooltip => "<b>Server Log</b>. This text viewer contains all the messages sent by the server.", 1185 tooltip => "<b>Server Log</b>. This text viewer contains all the messages sent by the server.",
1117 ; 1186 ;
1118 1187
1119 $BUTTONBAR = new CFClient::UI::HBox; 1188 $BUTTONBAR = new CFClient::UI::HBox x => 0, y => 0;
1120 1189
1121 $BUTTONBAR->add (new CFClient::UI::Flopper text => "Client Setup", other => client_setup, 1190 $BUTTONBAR->add (new CFClient::UI::Flopper text => "Client Setup", other => client_setup,
1122 tooltip => "Toggles a dialog where you can configure various aspects of the client, such as graphics mode, performance, and audio options."); 1191 tooltip => "Toggles a dialog where you can configure various aspects of the client, such as graphics mode, performance, and audio options.");
1123 $BUTTONBAR->add (new CFClient::UI::Flopper text => "Server Setup", other => server_setup, 1192 $BUTTONBAR->add (new CFClient::UI::Flopper text => "Server Setup", other => server_setup,
1124 tooltip => "Toggles a dialog where you can configure the server to play on, your username, password and other server-related options."); 1193 tooltip => "Toggles a dialog where you can configure the server to play on, your username, password and other server-related options.");
1128 make_gauge_window->show; # XXX: this has to be set before make_stats_window as make_stats_window calls update_stats_window which updated the gauges also X-D 1197 make_gauge_window->show; # XXX: this has to be set before make_stats_window as make_stats_window calls update_stats_window which updated the gauges also X-D
1129 1198
1130 $BUTTONBAR->add (new CFClient::UI::Flopper text => "Stats Window", other => make_stats_window, 1199 $BUTTONBAR->add (new CFClient::UI::Flopper text => "Stats Window", other => make_stats_window,
1131 tooltip => "Toggles the statistics window, where all your Stats and Resistances are being displayed at all times."); 1200 tooltip => "Toggles the statistics window, where all your Stats and Resistances are being displayed at all times.");
1132 $BUTTONBAR->add (new CFClient::UI::Flopper text => "Inventory", other => make_inventory_window, 1201 $BUTTONBAR->add (new CFClient::UI::Flopper text => "Inventory", other => make_inventory_window,
1133 tooltip => "Toggles the inventory window, where you can manage your loot (or treaures :)."); 1202 tooltip => "Toggles the inventory window, where you can manage your loot (or treaures :)."
1203 ."You can also hit the Tab-key to show/hide the Inventory.");
1134 1204
1135 $BUTTONBAR->add (new CFClient::UI::Button 1205 $BUTTONBAR->add (new CFClient::UI::Button
1136 text => "Save Config", 1206 text => "Save Config",
1137 tooltip => "Saves the options chosen in the client setting, server settings and the window layout to be restored on later runs.", 1207 tooltip => "Saves the options chosen in the client setting, server settings and the window layout to be restored on later runs.",
1138 on_activate => sub { 1208 on_activate => sub {
1146 tooltip => "View Documentation"); 1216 tooltip => "View Documentation");
1147 1217
1148 $BUTTONBAR->add (new CFClient::UI::Flopper 1218 $BUTTONBAR->add (new CFClient::UI::Flopper
1149 text => "Bindings", 1219 text => "Bindings",
1150 other => make_binding_window, 1220 other => make_binding_window,
1151 tooltip => "Lets you delete bindings you have made with the recorder" 1221 tooltip =>
1152 ); 1222 "Lets you define, edit and delete bindings."
1153 $BUTTONBAR->add (new CFClient::UI::Flopper text => "[Rec]", other => CFClient::Recorder::make_window, 1223 ."There is a shortcut for making bindings: LCTRL+Insert opens the binding editor "
1154 tooltip => "This feature lets you record a series of actions (eg. walking a path or ready a skill) and bind them to keys"); 1224 ."with nothing set and the recording started. After doing the actions you "
1225 ."want to record press Insert and you will be asked to press a key-combo."
1226 ."After pressing the combo the binding will be saved automatically and the "
1227 ."binding editor closes");
1228
1229 $BUTTONBAR->add (new CFClient::UI::Flopper
1230 text => "Spells",
1231 other => make_spell_list,
1232 tooltip => "The spell list");
1155 1233
1156 $BUTTONBAR->add (new CFClient::UI::Button 1234 $BUTTONBAR->add (new CFClient::UI::Button
1157 text => "Quit", 1235 text => "Quit",
1158 tooltip => "Terminates the program", 1236 tooltip => "Terminates the program",
1159 on_activate => sub { 1237 on_activate => sub {
1164 } 1242 }
1165 }, 1243 },
1166 ); 1244 );
1167 1245
1168 $BUTTONBAR->show; 1246 $BUTTONBAR->show;
1247 $SERVER_SETUP->show;
1169 1248
1170 $STATUSBOX->add ("Set video mode $WIDTH×$HEIGHT", timeout => 10, fg => [1, 1, 1, 0.5]); 1249 $STATUSBOX->add ("Set video mode $WIDTH×$HEIGHT", timeout => 10, fg => [1, 1, 1, 0.5]);
1171
1172 $SERVER_SETUP->show;
1173 } 1250 }
1174} 1251}
1175 1252
1176sub video_shutdown { 1253sub video_shutdown {
1177 undef $SDL_ACTIVE; 1254 undef $SDL_ACTIVE;
1245 1322
1246my %demo;#d# 1323my %demo;#d#
1247 1324
1248sub force_refresh { 1325sub force_refresh {
1249 $fps = $fps * 0.95 + 1 / (($NOW - $LAST_REFRESH) || 0.1) * 0.05; 1326 $fps = $fps * 0.95 + 1 / (($NOW - $LAST_REFRESH) || 0.1) * 0.05;
1250 debug sprintf "%3.2f", $fps; 1327 debug sprintf "%3.2f", $fps if $ENV{CFPLUS_DEBUG} & 4;
1251 1328
1252 $CFClient::UI::ROOT->draw; 1329 $CFClient::UI::ROOT->draw;
1253 1330
1254 $WANT_REFRESH = 0; 1331 $WANT_REFRESH = 0;
1255 $CAN_REFRESH = 0; 1332 $CAN_REFRESH = 0;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines