… | |
… | |
58 | use Compress::LZF; |
58 | use Compress::LZF; |
59 | |
59 | |
60 | use CFPlus; |
60 | use CFPlus; |
61 | use CFPlus::OpenGL (); |
61 | use CFPlus::OpenGL (); |
62 | use CFPlus::Protocol; |
62 | use CFPlus::Protocol; |
|
|
63 | use CFPlus::DB; |
63 | use CFPlus::UI; |
64 | use CFPlus::UI; |
64 | use CFPlus::UI::Inventory; |
65 | use CFPlus::UI::Inventory; |
65 | use CFPlus::UI::SpellList; |
66 | use CFPlus::UI::SpellList; |
66 | use CFPlus::Pod; |
67 | use CFPlus::Pod; |
67 | use CFPlus::MapWidget; |
68 | use CFPlus::MapWidget; |
… | |
… | |
465 | sub graphics_setup { |
466 | sub graphics_setup { |
466 | my $vbox = new CFPlus::UI::VBox; |
467 | my $vbox = new CFPlus::UI::VBox; |
467 | |
468 | |
468 | $vbox->add (my $table = new CFPlus::UI::Table expand => 1, col_expand => [0, 1]); |
469 | $vbox->add (my $table = new CFPlus::UI::Table expand => 1, col_expand => [0, 1]); |
469 | |
470 | |
|
|
471 | my $row = 0; |
|
|
472 | |
|
|
473 | $table->add (0, $row, new CFPlus::UI::Label valign => 0, align => 1, text => "OpenGL Info"); |
|
|
474 | $table->add (1, $row++, new CFPlus::UI::Label valign => 0, fontsize => 0.8, text => CFPlus::OpenGL::gl_vendor . ", " . CFPlus::OpenGL::gl_version, |
|
|
475 | can_events => 1, |
|
|
476 | tooltip => "<tt><span size='8192'>" . (CFPlus::OpenGL::gl_extensions) . "</span></tt>"); |
|
|
477 | |
470 | $table->add (0, 0, new CFPlus::UI::Label valign => 0, align => 1, text => "Video Mode"); |
478 | $table->add (0, $row, new CFPlus::UI::Label valign => 0, align => 1, text => "Video Mode"); |
471 | $table->add (1, 0, my $hbox = new CFPlus::UI::HBox); |
479 | $table->add (1, $row++, my $hbox = new CFPlus::UI::HBox); |
472 | |
480 | |
473 | $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]); |
481 | $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]); |
474 | $hbox->add (my $mode_label = new CFPlus::UI::Label align => 0, valign => 0, height => 0.8, template => "9999x9999"); |
482 | $hbox->add (my $mode_label = new CFPlus::UI::Label align => 0, valign => 0, height => 0.8, template => "9999x9999"); |
475 | |
483 | |
476 | $mode_slider->connect (changed => sub { |
484 | $mode_slider->connect (changed => sub { |
… | |
… | |
478 | |
486 | |
479 | $CFG->{sdl_mode} = $self->{range}[0] = $value = int $value; |
487 | $CFG->{sdl_mode} = $self->{range}[0] = $value = int $value; |
480 | $mode_label->set_text (sprintf "%dx%d", @{$SDL_MODES[$value]}); |
488 | $mode_label->set_text (sprintf "%dx%d", @{$SDL_MODES[$value]}); |
481 | }); |
489 | }); |
482 | $mode_slider->emit (changed => $mode_slider->{range}[0]); |
490 | $mode_slider->emit (changed => $mode_slider->{range}[0]); |
483 | |
|
|
484 | my $row = 1; |
|
|
485 | |
491 | |
486 | $table->add (0, $row, new CFPlus::UI::Label valign => 0, align => 1, text => "Fullscreen"); |
492 | $table->add (0, $row, new CFPlus::UI::Label valign => 0, align => 1, text => "Fullscreen"); |
487 | $table->add (1, $row++, $FULLSCREEN_ENABLE = new CFPlus::UI::CheckBox |
493 | $table->add (1, $row++, $FULLSCREEN_ENABLE = new CFPlus::UI::CheckBox |
488 | state => $CFG->{fullscreen}, |
494 | state => $CFG->{fullscreen}, |
489 | tooltip => "Bring the client into fullscreen mode.", |
495 | tooltip => "Bring the client into fullscreen mode.", |
… | |
… | |
2077 | |
2083 | |
2078 | $SIG{INT} = $SIG{TERM} = sub { exit }; |
2084 | $SIG{INT} = $SIG{TERM} = sub { exit }; |
2079 | |
2085 | |
2080 | { |
2086 | { |
2081 | CFPlus::read_cfg "$Crossfire::VARDIR/cfplusrc"; |
2087 | CFPlus::read_cfg "$Crossfire::VARDIR/cfplusrc"; |
|
|
2088 | CFPlus::DB::Server::run; |
|
|
2089 | |
2082 | CFPlus::UI::set_layout ($::CFG->{layout}); |
2090 | CFPlus::UI::set_layout ($::CFG->{layout}); |
2083 | |
2091 | |
2084 | my %DEF_CFG = ( |
2092 | my %DEF_CFG = ( |
2085 | sdl_mode => 0, |
2093 | sdl_mode => 0, |
2086 | width => 640, |
2094 | width => 640, |