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.146 by root, Wed Apr 4 02:43:30 2007 UTC vs.
Revision 1.148 by root, Mon Apr 9 04:39:11 2007 UTC

58use Compress::LZF; 58use Compress::LZF;
59 59
60use CFPlus; 60use CFPlus;
61use CFPlus::OpenGL (); 61use CFPlus::OpenGL ();
62use CFPlus::Protocol; 62use CFPlus::Protocol;
63use CFPlus::DB;
63use CFPlus::UI; 64use CFPlus::UI;
64use CFPlus::UI::Inventory; 65use CFPlus::UI::Inventory;
65use CFPlus::UI::SpellList; 66use CFPlus::UI::SpellList;
66use CFPlus::Pod; 67use CFPlus::Pod;
67use CFPlus::MapWidget; 68use CFPlus::MapWidget;
1573 1574
1574sub show_tip_of_the_day { 1575sub show_tip_of_the_day {
1575 # find all tips 1576 # find all tips
1576 my @tod = CFPlus::Pod::find tip_of_the_day => "*"; 1577 my @tod = CFPlus::Pod::find tip_of_the_day => "*";
1577 1578
1578 my $todindex = $CFPlus::DB_STATE->get ("tip_of_the_day"); 1579 CFPlus::DB::get state => "tip_of_the_day", sub {
1580 my ($todindex) = @_;
1579 $todindex = 0 if $todindex >= @tod; 1581 $todindex = 0 if $todindex >= @tod;
1580 $CFPlus::DB_STATE->put (tip_of_the_day => $todindex + 1); 1582 CFPlus::DB::put state => tip_of_the_day => $todindex + 1, sub { };
1581 1583
1582 # create dialog 1584 # create dialog
1583 my $dialog; 1585 my $dialog;
1584 1586
1585 my $close = sub { 1587 my $close = sub {
1586 $dialog->destroy; 1588 $dialog->destroy;
1589 };
1590
1591 $dialog = new CFPlus::UI::Toplevel
1592 x => "center",
1593 y => "center",
1594 z => 3,
1595 name => 'tip_of_the_day',
1596 force_w => int $WIDTH * 4/9,
1597 force_h => int $WIDTH * 2/9,
1598 title => "Tip of the day #" . (1 + $todindex),
1599 child => my $vbox = new CFPlus::UI::VBox,
1600 has_close_button => 1,
1601 on_delete => $close,
1602 ;
1603
1604 $vbox->add (my $viewer = new CFPlus::UI::TextScroller
1605 expand => 1, fontsize => 0.8, padding_x => 4, padding_y => 4);
1606 $viewer->add_paragraph (CFPlus::Pod::as_paragraphs CFPlus::Pod::section_of $tod[$todindex]);
1607
1608 $vbox->add (my $table = new CFPlus::UI::Table col_expand => [0, 1]);
1609
1610 $table->add (0, 0, new CFPlus::UI::Button
1611 text => "Close",
1612 tooltip => "Close the tip of the day window. To never see it again, disable the tip of the day in the <b>Server Setup</b>.",
1613 on_activate => $close,
1614 );
1615
1616 $table->add (2, 0, new CFPlus::UI::Button
1617 text => "Next",
1618 tooltip => "Show the next <b>Tip of the day</b>.",
1619 on_activate => sub {
1620 $close->();
1621 &show_tip_of_the_day;
1622 },
1623 );
1624
1625 $dialog->show;
1587 }; 1626 };
1588
1589 $dialog = new CFPlus::UI::Toplevel
1590 x => "center",
1591 y => "center",
1592 z => 3,
1593 name => 'tip_of_the_day',
1594 force_w => int $WIDTH * 4/9,
1595 force_h => int $WIDTH * 2/9,
1596 title => "Tip of the day #" . (1 + $todindex),
1597 child => my $vbox = new CFPlus::UI::VBox,
1598 has_close_button => 1,
1599 on_delete => $close,
1600 ;
1601
1602 $vbox->add (my $viewer = new CFPlus::UI::TextScroller
1603 expand => 1, fontsize => 0.8, padding_x => 4, padding_y => 4);
1604 $viewer->add_paragraph (CFPlus::Pod::as_paragraphs CFPlus::Pod::section_of $tod[$todindex]);
1605
1606 $vbox->add (my $table = new CFPlus::UI::Table col_expand => [0, 1]);
1607
1608 $table->add (0, 0, new CFPlus::UI::Button
1609 text => "Close",
1610 tooltip => "Close the tip of the day window. To never see it again, disable the tip of the day in the <b>Server Setup</b>.",
1611 on_activate => $close,
1612 );
1613
1614 $table->add (2, 0, new CFPlus::UI::Button
1615 text => "Next",
1616 tooltip => "Show the next <b>Tip of the day</b>.",
1617 on_activate => sub {
1618 $close->();
1619 &show_tip_of_the_day;
1620 },
1621 );
1622
1623 $dialog->show;
1624} 1627}
1625 1628
1626sub sdl_init { 1629sub sdl_init {
1627 CFPlus::SDL_Init 1630 CFPlus::SDL_Init
1628 and die "SDL::Init failed!\n"; 1631 and die "SDL::Init failed!\n";
2082 2085
2083$SIG{INT} = $SIG{TERM} = sub { exit }; 2086$SIG{INT} = $SIG{TERM} = sub { exit };
2084 2087
2085{ 2088{
2086 CFPlus::read_cfg "$Crossfire::VARDIR/cfplusrc"; 2089 CFPlus::read_cfg "$Crossfire::VARDIR/cfplusrc";
2090 CFPlus::DB::Server::run;
2091
2087 CFPlus::UI::set_layout ($::CFG->{layout}); 2092 CFPlus::UI::set_layout ($::CFG->{layout});
2088 2093
2089 my %DEF_CFG = ( 2094 my %DEF_CFG = (
2090 sdl_mode => 0, 2095 sdl_mode => 0,
2091 width => 640, 2096 width => 640,

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines