… | |
… | |
167 | our $STATUSBOX; |
167 | our $STATUSBOX; |
168 | our $DEBUG_STATUS; |
168 | our $DEBUG_STATUS; |
169 | |
169 | |
170 | our $INV; |
170 | our $INV; |
171 | our $INVR; |
171 | our $INVR; |
172 | our $INV_RIGHT_HB; |
172 | our $INVR_HB; |
173 | |
|
|
174 | our $PICKUP_CFG; |
|
|
175 | |
173 | |
176 | ############################################################################# |
174 | ############################################################################# |
177 | |
175 | |
178 | sub status { |
176 | sub status { |
179 | $STATUSBOX->add (CFPlus::asxml $_[0], pri => -10, group => "status", timeout => 10, fg => [1, 1, 0, 1]); |
177 | $STATUSBOX->add (CFPlus::asxml $_[0], pri => -10, group => "status", timeout => 10, fg => [1, 1, 0, 1]); |
… | |
… | |
1610 | $sw1->add ($INV = new CFPlus::UI::Inventory); |
1608 | $sw1->add ($INV = new CFPlus::UI::Inventory); |
1611 | $INV->set_sort_order ($SORT_ORDER{$::CFG->{inv_sort}}); |
1609 | $INV->set_sort_order ($SORT_ORDER{$::CFG->{inv_sort}}); |
1612 | |
1610 | |
1613 | $hb->add (my $vb2 = new CFPlus::UI::VBox); |
1611 | $hb->add (my $vb2 = new CFPlus::UI::VBox); |
1614 | |
1612 | |
1615 | $vb2->add ($INV_RIGHT_HB = new CFPlus::UI::HBox); |
1613 | $vb2->add ($INVR_HB = new CFPlus::UI::HBox); |
1616 | |
1614 | |
1617 | $vb2->add (my $sw2 = new CFPlus::UI::ScrolledWindow expand => 1, scroll_y => 1); |
1615 | $vb2->add (my $sw2 = new CFPlus::UI::ScrolledWindow expand => 1, scroll_y => 1); |
1618 | $sw2->add ($INVR = new CFPlus::UI::Inventory); |
1616 | $sw2->add ($INVR = new CFPlus::UI::Inventory); |
1619 | |
1617 | |
1620 | # XXX: Call after $INVR = ... because set_opencont sets the items |
1618 | # XXX: Call after $INVR = ... because set_opencont sets the items |
… | |
… | |
1875 | on_activate => sub { $QUIT_DIALOG->hide; 0 }, |
1873 | on_activate => sub { $QUIT_DIALOG->hide; 0 }, |
1876 | ); |
1874 | ); |
1877 | $hb->add (new CFPlus::UI::Button |
1875 | $hb->add (new CFPlus::UI::Button |
1878 | text => "Quit anyway", |
1876 | text => "Quit anyway", |
1879 | expand => 1, |
1877 | expand => 1, |
1880 | on_activate => sub { exit }, |
1878 | on_activate => sub { Event::unloop_all }, |
1881 | ); |
1879 | ); |
1882 | } |
1880 | } |
1883 | |
1881 | |
1884 | $QUIT_DIALOG->show; |
1882 | $QUIT_DIALOG->show; |
1885 | $QUIT_DIALOG->grab_focus; |
1883 | $QUIT_DIALOG->grab_focus; |
… | |
… | |
2079 | tooltip => "Terminates the program", |
2077 | tooltip => "Terminates the program", |
2080 | on_activate => sub { |
2078 | on_activate => sub { |
2081 | if ($CONN) { |
2079 | if ($CONN) { |
2082 | open_quit_dialog; |
2080 | open_quit_dialog; |
2083 | } else { |
2081 | } else { |
2084 | exit; |
2082 | Event::unloop_all; |
2085 | } |
2083 | } |
2086 | 0 |
2084 | 0 |
2087 | }, |
2085 | }, |
2088 | ); |
2086 | ); |
2089 | |
2087 | |
2090 | $BUTTONBAR->show; |
2088 | $BUTTONBAR->show; |
2091 | $SETUP_DIALOG->show; |
2089 | $SETUP_DIALOG->show; |
|
|
2090 | $MESSAGE_WINDOW->show; |
2092 | } |
2091 | } |
2093 | |
2092 | |
2094 | $STATUSBOX->add ("Set video mode $WIDTH×$HEIGHT", timeout => 10, fg => [1, 1, 1, 0.5]); |
2093 | $STATUSBOX->add ("Set video mode $WIDTH×$HEIGHT", timeout => 10, fg => [1, 1, 1, 0.5]); |
2095 | } |
2094 | } |
2096 | |
2095 | |
… | |
… | |
2292 | } |
2291 | } |
2293 | |
2292 | |
2294 | show_tip_of_the_day if $CFG->{show_tips}; |
2293 | show_tip_of_the_day if $CFG->{show_tips}; |
2295 | |
2294 | |
2296 | Event::loop; |
2295 | Event::loop; |
|
|
2296 | |
|
|
2297 | #video_shutdown; |
|
|
2298 | #audio_shutdown; |
2297 | #CFPlus::SDL_Quit; |
2299 | CFPlus::SDL_Quit; |
2298 | #CFPlus::_exit 0; |
|
|
2299 | |
|
|
2300 | END { |
|
|
2301 | video_shutdown; |
|
|
2302 | audio_shutdown; |
|
|
2303 | CFPlus::SDL_Quit; |
|
|
2304 | CFPlus::DB::Server::stop; |
2300 | CFPlus::DB::Server::stop; |
2305 | } |
|
|
2306 | |
2301 | |
2307 | =head1 NAME |
2302 | =head1 NAME |
2308 | |
2303 | |
2309 | cfplus - A Crossfire TRT and Crossfire game client |
2304 | cfplus - A Crossfire TRT and Crossfire game client |
2310 | |
2305 | |