1 |
root |
1.1 |
#!/opt/bin/perl |
2 |
|
|
|
3 |
root |
1.120 |
our @STARTUP_DONE; |
4 |
root |
1.7 |
|
5 |
root |
1.1 |
# do splash-screen thingy on win32 |
6 |
|
|
BEGIN { |
7 |
|
|
if (%PAR::LibCache && $^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 |
root |
1.113 |
Win32::GUI::SplashScreen::Show ( |
15 |
|
|
-file => "$ENV{PAR_TEMP}/SPLASH.bmp", |
16 |
|
|
); |
17 |
|
|
|
18 |
root |
1.120 |
push @STARTUP_DONE, sub { |
19 |
root |
1.1 |
Win32::GUI::SplashScreen::Done (1); |
20 |
|
|
}; |
21 |
|
|
} |
22 |
|
|
} |
23 |
|
|
|
24 |
root |
1.120 |
# TODO: find most recent .par |
25 |
|
|
|
26 |
root |
1.105 |
use common::sense; |
27 |
root |
1.1 |
|
28 |
|
|
use Carp 'verbose'; |
29 |
|
|
|
30 |
|
|
# do things only needed for single-binary version (par) |
31 |
|
|
BEGIN { |
32 |
|
|
if (%PAR::LibCache) { |
33 |
root |
1.120 |
@INC = grep ref, @INC; # weed out all paths except PAR's loader refs |
34 |
root |
1.1 |
|
35 |
|
|
my $root = $ENV{PAR_TEMP}; |
36 |
|
|
|
37 |
|
|
while (my ($filename, $zip) = each %PAR::LibCache) { |
38 |
|
|
for ($zip->memberNames) { |
39 |
|
|
next unless /^root\/(.*)/; |
40 |
|
|
$zip->extractMember ($_, "$root/$1") |
41 |
|
|
unless -e "$root/$1"; |
42 |
|
|
} |
43 |
|
|
} |
44 |
|
|
|
45 |
|
|
if ($^O eq "MSWin32") { |
46 |
|
|
# pango is relocatable on win32 |
47 |
root |
1.60 |
} else { |
48 |
|
|
# OS X |
49 |
|
|
$ENV{PANGO_RC_FILE} = "$root/pango.rc"; |
50 |
root |
1.71 |
$ENV{DYLD_LIBRARY_PATH} = $root; |
51 |
root |
1.60 |
chdir $root; # for pango modules, maybe other things |
52 |
root |
1.1 |
} |
53 |
|
|
|
54 |
|
|
unshift @INC, $root; |
55 |
|
|
} |
56 |
|
|
} |
57 |
|
|
|
58 |
root |
1.94 |
# prepend private library directory and prepare env |
59 |
root |
1.17 |
BEGIN { |
60 |
|
|
for (grep !ref, @INC) { |
61 |
root |
1.24 |
my $path = "$_/Deliantra/Client/private"; |
62 |
root |
1.17 |
if (-d $path) { |
63 |
|
|
unshift @INC, $path; |
64 |
|
|
last; |
65 |
|
|
} |
66 |
|
|
} |
67 |
|
|
} |
68 |
|
|
|
69 |
root |
1.120 |
use DC::Main (); |
70 |
|
|
|
71 |
root |
1.1 |
# need to do it again because that pile of garbage called PAR nukes it before main |
72 |
|
|
unshift @INC, $ENV{PAR_TEMP} |
73 |
|
|
if %PAR::LibCache; |
74 |
|
|
|
75 |
root |
1.120 |
DC::Main::run; |
76 |
root |
1.1 |
|
77 |
|
|
=head1 NAME |
78 |
|
|
|
79 |
|
|
deliantra - A Deliantra MORPG game client |
80 |
|
|
|
81 |
|
|
=head1 SYNOPSIS |
82 |
|
|
|
83 |
root |
1.104 |
deliantra [--profile name] [host [user [password]]] |
84 |
|
|
deliantra --help |
85 |
root |
1.1 |
|
86 |
|
|
=head1 USAGE |
87 |
|
|
|
88 |
root |
1.104 |
The deliantra client utilises OpenGL for all UI elements and the game. It |
89 |
|
|
is supposed to be used in fullscreen mode and interactively. |
90 |
root |
1.1 |
|
91 |
|
|
=head1 DEBUGGING |
92 |
|
|
|
93 |
root |
1.110 |
DELIANTRA_DEBUG - environment variable |
94 |
root |
1.1 |
|
95 |
|
|
1 draw borders around widgets |
96 |
|
|
2 add low-level widget info to tooltips |
97 |
|
|
4 show fps |
98 |
|
|
8 suppress tooltips |
99 |
root |
1.110 |
16 show bandwidth downstream |
100 |
root |
1.1 |
|
101 |
|
|
=head1 AUTHOR |
102 |
|
|
|
103 |
root |
1.57 |
Marc Lehmann <deliantra@schmorp.de>, Robin Redeker <elmex@ta-sa.org> |
104 |
root |
1.1 |
|
105 |
|
|
|
106 |
|
|
|