--- deliantra/Deliantra-Client/bin/cfplus 2006/10/01 14:48:51 1.120
+++ deliantra/Deliantra-Client/bin/cfplus 2006/10/08 21:22:30 1.122
@@ -1,5 +1,26 @@
#!/opt/bin/perl
+my $startup_done = sub { };
+
+# do splash-screen thingy on win32
+BEGIN {
+ if ($^O eq "MSWin32") {
+ while (my ($filename, $zip) = each %PAR::LibCache) {
+ $zip->extractMember ("SPLASH.bmp", "$ENV{PAR_TEMP}/SPLASH.bmp");
+ }
+
+ require Win32::GUI::SplashScreen;
+
+ Win32::GUI::SplashScreen::Show (
+ -file => "$ENV{PAR_TEMP}/SPLASH.bmp",
+ );
+
+ $startup_done = sub {
+ Win32::GUI::SplashScreen::Done (1);
+ };
+ }
+}
+
use strict;
use utf8;
@@ -10,7 +31,7 @@
while (my ($filename, $zip) = each %PAR::LibCache) {
for ($zip->memberNames) {
- next unless /^\/root\/(.*)/;
+ next unless /^root\/(.*)/;
$zip->extractMember ($_, "$ENV{PAR_TEMP}/$1")
unless -e "$ENV{PAR_TEMP}/$1";
}
@@ -53,8 +74,6 @@
CFPlus::fatal ($_[1]);
};
-our $VERSION = '0.9';
-
my $MAX_FPS = 60;
my $MIN_FPS = 5; # unused as of yet
@@ -141,6 +160,17 @@
$DEBUG_STATUS->set_text ($_[0]);
}
+sub message {
+ my ($para) = @_;
+
+ my $time = sprintf "%02d:%02d:%02d", (localtime time)[2,1,0];
+
+ $para->{markup} = "$time $para->{markup}";
+
+ $LOGVIEW->add_paragraph ($para);
+ $LOGVIEW->scroll_to_bottom;
+}
+
sub destroy_query_dialog {
(delete $_[0]{query_dialog})->destroy
if $_[0]{query_dialog};
@@ -364,7 +394,7 @@
mapw => $mapsize,
maph => $mapsize,
- client => "cfplus $VERSION $] $^O",
+ client => "cfplus $CFPlus::VERSION $] $^O",
map_widget => $MAPWIDGET,
logview => $LOGVIEW,
@@ -412,7 +442,6 @@
$CONN = 0; # false, does not autovivify
undef $MAP;
- undef $PROFILE;
}
sub graphics_setup {
@@ -1060,7 +1089,7 @@
tooltip => "Show the Tip of the day window at startup?",
on_changed => sub {
my ($self, $value) = @_;
- $CFG->{shop_tips} = $value;
+ $CFG->{show_tips} = $value;
0
}
);
@@ -2092,14 +2121,14 @@
# warn $t2-$t1;
# }
+ $startup_done->();
+
video_init;
audio_init;
}
show_tip_of_the_day if $CFG->{show_tips};
-use Data::Dumper; warn Dumper [CFPlus::win32_proxy_info()];#d#
-
Event::loop;
#CFPlus::SDL_Quit;
#CFPlus::_exit 0;