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.120 by root, Sun Oct 1 14:48:51 2006 UTC vs.
Revision 1.122 by root, Sun Oct 8 21:22:30 2006 UTC

1#!/opt/bin/perl 1#!/opt/bin/perl
2
3my $startup_done = sub { };
4
5# do splash-screen thingy on win32
6BEGIN {
7 if ($^O eq "MSWin32") {
8 while (my ($filename, $zip) = each %PAR::LibCache) {
9 $zip->extractMember ("SPLASH.bmp", "$ENV{PAR_TEMP}/SPLASH.bmp");
10 }
11
12 require Win32::GUI::SplashScreen;
13
14 Win32::GUI::SplashScreen::Show (
15 -file => "$ENV{PAR_TEMP}/SPLASH.bmp",
16 );
17
18 $startup_done = sub {
19 Win32::GUI::SplashScreen::Done (1);
20 };
21 }
22}
2 23
3use strict; 24use strict;
4use utf8; 25use utf8;
5 26
6# do things only needed for single-binary version (par) 27# do things only needed for single-binary version (par)
8 if (%PAR::LibCache) { 29 if (%PAR::LibCache) {
9 @INC = grep ref, @INC; # weed out all paths except pars loader refs 30 @INC = grep ref, @INC; # weed out all paths except pars loader refs
10 31
11 while (my ($filename, $zip) = each %PAR::LibCache) { 32 while (my ($filename, $zip) = each %PAR::LibCache) {
12 for ($zip->memberNames) { 33 for ($zip->memberNames) {
13 next unless /^\/root\/(.*)/; 34 next unless /^root\/(.*)/;
14 $zip->extractMember ($_, "$ENV{PAR_TEMP}/$1") 35 $zip->extractMember ($_, "$ENV{PAR_TEMP}/$1")
15 unless -e "$ENV{PAR_TEMP}/$1"; 36 unless -e "$ENV{PAR_TEMP}/$1";
16 } 37 }
17 } 38 }
18 39
50 # TODO: display dialog box or so 71 # TODO: display dialog box or so
51 Carp::cluck $_[1];#d#TODO: remove when stable 72 Carp::cluck $_[1];#d#TODO: remove when stable
52 return;#d# 73 return;#d#
53 CFPlus::fatal ($_[1]); 74 CFPlus::fatal ($_[1]);
54}; 75};
55
56our $VERSION = '0.9';
57 76
58my $MAX_FPS = 60; 77my $MAX_FPS = 60;
59my $MIN_FPS = 5; # unused as of yet 78my $MIN_FPS = 5; # unused as of yet
60 79
61our $META_SERVER = "crossfire.real-time.com:13326"; 80our $META_SERVER = "crossfire.real-time.com:13326";
137 $STATUSBOX->add (CFPlus::asxml $_[0], pri => -10, group => "status", timeout => 10, fg => [1, 1, 0, 1]); 156 $STATUSBOX->add (CFPlus::asxml $_[0], pri => -10, group => "status", timeout => 10, fg => [1, 1, 0, 1]);
138} 157}
139 158
140sub debug { 159sub debug {
141 $DEBUG_STATUS->set_text ($_[0]); 160 $DEBUG_STATUS->set_text ($_[0]);
161}
162
163sub message {
164 my ($para) = @_;
165
166 my $time = sprintf "%02d:%02d:%02d", (localtime time)[2,1,0];
167
168 $para->{markup} = "<span foreground='#ffffff'>$time</span> $para->{markup}";
169
170 $LOGVIEW->add_paragraph ($para);
171 $LOGVIEW->scroll_to_bottom;
142} 172}
143 173
144sub destroy_query_dialog { 174sub destroy_query_dialog {
145 (delete $_[0]{query_dialog})->destroy 175 (delete $_[0]{query_dialog})->destroy
146 if $_[0]{query_dialog}; 176 if $_[0]{query_dialog};
362 user => $PROFILE->{user}, 392 user => $PROFILE->{user},
363 pass => $PROFILE->{password}, 393 pass => $PROFILE->{password},
364 mapw => $mapsize, 394 mapw => $mapsize,
365 maph => $mapsize, 395 maph => $mapsize,
366 396
367 client => "cfplus $VERSION $] $^O", 397 client => "cfplus $CFPlus::VERSION $] $^O",
368 398
369 map_widget => $MAPWIDGET, 399 map_widget => $MAPWIDGET,
370 logview => $LOGVIEW, 400 logview => $LOGVIEW,
371 statusbox => $STATUSBOX, 401 statusbox => $STATUSBOX,
372 map => $MAP, 402 map => $MAP,
410 destroy_query_dialog $CONN; 440 destroy_query_dialog $CONN;
411 $CONN->destroy; 441 $CONN->destroy;
412 $CONN = 0; # false, does not autovivify 442 $CONN = 0; # false, does not autovivify
413 443
414 undef $MAP; 444 undef $MAP;
415 undef $PROFILE;
416} 445}
417 446
418sub graphics_setup { 447sub graphics_setup {
419 my $vbox = new CFPlus::UI::VBox; 448 my $vbox = new CFPlus::UI::VBox;
420 449
1058 $table->add (1, 13, my $saycmd = new CFPlus::UI::CheckBox 1087 $table->add (1, 13, my $saycmd = new CFPlus::UI::CheckBox
1059 state => $CFG->{show_tips}, 1088 state => $CFG->{show_tips},
1060 tooltip => "Show the <b>Tip of the day</b> window at startup?", 1089 tooltip => "Show the <b>Tip of the day</b> window at startup?",
1061 on_changed => sub { 1090 on_changed => sub {
1062 my ($self, $value) = @_; 1091 my ($self, $value) = @_;
1063 $CFG->{shop_tips} = $value; 1092 $CFG->{show_tips} = $value;
1064 0 1093 0
1065 } 1094 }
1066 ); 1095 );
1067 1096
1068 $vbox->add (new CFPlus::UI::FancyFrame 1097 $vbox->add (new CFPlus::UI::FancyFrame
2090# } 2119# }
2091# my $t2 = Time::HiRes::time; 2120# my $t2 = Time::HiRes::time;
2092# warn $t2-$t1; 2121# warn $t2-$t1;
2093# } 2122# }
2094 2123
2124 $startup_done->();
2125
2095 video_init; 2126 video_init;
2096 audio_init; 2127 audio_init;
2097} 2128}
2098 2129
2099show_tip_of_the_day if $CFG->{show_tips}; 2130show_tip_of_the_day if $CFG->{show_tips};
2100
2101use Data::Dumper; warn Dumper [CFPlus::win32_proxy_info()];#d#
2102 2131
2103Event::loop; 2132Event::loop;
2104#CFPlus::SDL_Quit; 2133#CFPlus::SDL_Quit;
2105#CFPlus::_exit 0; 2134#CFPlus::_exit 0;
2106 2135

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines